GROUP BY 语句中的GROUP_CONCAT()函数

GROUP BY 语句根据一个或多个列对结果集进行分组。会把值相同放到一个组中,最终查询出的结果只会显示组中一条记录。

现有表结构如下:
GROUP BY 语句中的GROUP_CONCAT()函数_第1张图片
需要将数据通过采集时间中的日期(collecttime)以及设备(devnum)进行分组查询,并得到每条数据中的详细信息。使用GROUP_CONCAT函数实现。
1、GROUP_CONCAT功能:将group by产生的同一个分组中的值连接起来,返回一个字符串结果。

2、语法:group_concat( [distinct] 要连接的字段 [order by 排序字段 asc/desc ] [separator ‘分隔符’] )

说明:通过使用distinct可以排除重复值;如果希望对结果中的值进行排序,可以使用order by子句;separator是一个字符串值,缺省为一个逗号。
现执行如下sql语句:

select GROUP_CONCAT(collecttime),date_format(collecttime,'%Y-%m-%d'),GROUP_CONCAT(devnum),GROUP_CONCAT(`value`),GROUP_CONCAT(`state`) from speed_hisdata group by date_format(collecttime,'%Y-%m-%d'),devnum;

得到效果如下:
在这里插入图片描述
无意中发现了一个巨牛的人工智能教程,忍不住分享一下给大家。教程不仅是零基础,通俗易懂,而且非常风趣幽默,像看小说一样!觉得太牛了,所以分享给大家。点这里可以跳转到教程

你可能感兴趣的:(数据库)