# group_concat
让每个名字都只出现一次,又能够显示所有的名字相同的人的 id 呢
使用
group_concat()
- 1、功能:将 group by 产生的同一个分组中的值连接起来,返回一个字符串结果。
- 2、语法:
group_concat( [distinct] 要连接的字段 [order by 排序字段 asc/desc ][separator '分隔符'] )
说明:通过使用 distinct 可以排除重复值;如果希望对结果中的值进行排序,可以使用 order by 子句;separator 是一个字符串值,缺省为一个逗号。
select oa.DEVICE_ID,group_concat(oa.ALARM)
from odt_alarm oa
group by oa.DEVICE_ID;
select oa.DEVICE_ID,group_concat(oa.ALARM order by oa.ALARM_TIME desc separator '')
from odt_alarm oa
group by oa.DEVICE_ID;
select oa.DEVICE_ID,group_concat(concat_ws('_', oa.ALARM, oa.ALARM_TIME) order by oa.ALARM_TIME desc)
from odt_alarm oa
group by oa.DEVICE_ID;
1
2
3
4
5
6
7
8
9
10
11
12
2
3
4
5
6
7
8
9
10
11
12