mysql中的group_concat函数
程序员文章站
2024-01-17 16:43:04
...
group_concat 的完整语法如下:
摘自:http://baike.baidu.com/view/2140086.htm#2
函数 GROUP_CONCAT(expr )
函数使用说明:该函数返回带有来自一个组的连接的非NULL 值的字符串结果。其完整的语法如下所示:
GROUP_CONCAT([DISTINCT] expr [,expr ...] [ORDER BY {unsigned_integer | col_name | expr }
[ASC | DESC] [,col_name ...]]
[SEPARATOR str_val ])
建表语句如下:
CREATE TABLE `t` ( `id` int auto_increment, `a` int, `b` varchar(256), primary key(`id`) )
#指定SEPARATOR
表内容如下:
id a b 1 2 aa 2 2 bb 3 2 cc 4 3 aaa 5 3 bbb 6 3 ccc
查询语句如下:
SELECT `a`, group_concat(`b` SEPARATOR '`' ) as `b` FROM `t` GROUP BY `a`;
结果如下:
a b 2 aa`bb`cc 3 aaa`bbb`ccc
小结:
函数group_concat把同一个分组中的某个字段(或者若干字段)用某个分隔符连接起来(类似于php的函数implode),SEPARATOR用于指定分割符,默认是逗号。
#指定ORDER BY
表内容如下:
id a b 1 2 aa 2 2 bb 3 2 cc 4 3 aaa 5 3 bbb 6 3 ccc
查询语句:
SELECT `a`, group_concat(`b` ORDER BY `id` DESC) as `b` FROM `t` GROUP BY `a`;
查询结果:
a b 2 cc,bb,aa 3 ccc,bbb,aaa
小结:
对同一分组内的记录按照id逆序排序了再把字段`b`连接起来
上一篇: Android Activity去除标题栏和状态栏
下一篇: Android systrace