MySQL 表单统计数据,行数据合并和列数据分割
1 、行数据合并 不同行的数据在分组条件相同时,行数据的选中列合并展示
convert(选中列,char) 是类型转换,本身是字符类型可不用转换
group_concat(distinct convert(选中列,char) SEPARATOR ' , ') AS '超时类型'
group_concat(distinct 选中列 SEPARATOR ' , ') AS '超时类型',
合并前
合并后
2 、列数据分割 同一列的数据依据不同条件展示在不同列
case when 分割条件一 then 要分割的列名 else NULL end AS '列分割展示一',
case when 分割条件二 then 要分割的列名 else NULL end AS '列分割展示二'
合并前
合并后
3、列数据分割后 不同行的数据展示在同一行(和上面方法嵌套)
group_concat(distinct case when 分割条件一 then 要分割的列名 else NULL end separator ',') AS '列分割展示一',
group_concat(distinct case when 分割条件二 then 要分割的列名 else NULL end separator ',') AS '列分割展示二'
FROM
数据表名称
GROUP BY
分组字段
SELECT
//行数据合并 不同行的数据在分组条件相同时,行数据的选中列合并展示
group_concat(distinct convert(选中列,char) SEPARATOR ' , ') AS '列名1',
group_concat(distinct 选中列 separator ' , ') AS '列名2',
group_concat(distinct 选中列 separator ' , ') AS '列名3',
//列数据分割 同一列的数据依据不同条件展示在不同列
case when 分割条件一 then 要分割的列名 else NULL end AS '列分割展示一',
case when 分割条件二 then 要分割的列名 else NULL end AS '列分割展示二'
//列数据分割后 不同行的数据展示在同一行(和上面方法嵌套)
group_concat(distinct case when 分割条件一 then 要分割的列名 else NULL end separator ',') AS '列分割展示一',
group_concat(distinct case when 分割条件二 then 要分割的列名 else NULL end separator ',') AS '列分割展示二'
FROM
数据表名称
GROUP BY
分组字段