+ -
当前位置:首页 → 问答吧 → mysql 中如何 实现 分组数据 某个字段用逗号隔开

mysql 中如何 实现 分组数据 某个字段用逗号隔开

时间:2011-07-17

来源:互联网

RT!
实现一个能类是SUM(Data)这样的功能,但是不是求和,而是将这个字段的数据用逗号隔开
模拟数据如下:
ID Data
2 "39"
2 "1"
0 "39"
0 "2"

需要的结果如下:
ID Data
2 "39","1"
0 "39","2"

这样的函数如何实现呢
或者其他方式实现类是功能也行

作者: linxisheng   发布时间: 2011-07-17

MYSQL中很简单,如下即可。

SQL code
select ID,group_concat(Data)
from table1
group by ID

作者: ACMAIN_CHM   发布时间: 2011-07-17

引用GROUP_CONCAT(expr)

This function returns a string result with the concatenated non-NULL values from a group. It returns NULL if there are no non-NULL values. The full syntax is as follows:

GROUP_CONCAT([DISTINCT] expr [,expr ...]
[ORDER BY {unsigned_integer | col_name | expr}
[ASC | DESC] [,col_name ...]]
[SEPARATOR str_val])

mysql> SELECT student_name,
-> GROUP_CONCAT(test_score)
-> FROM student
-> GROUP BY student_name;

Or:

mysql> SELECT student_name,
-> GROUP_CONCAT(DISTINCT test_score
-> ORDER BY test_score DESC SEPARATOR ' ')
-> FROM student
-> GROUP BY student_name;

作者: ACMAIN_CHM   发布时间: 2011-07-17

select ID,group_concat(Data separator ,)
from table1
group by ID

作者: rucypli   发布时间: 2011-07-17