mysql group_concat(总和)

mysql group_concat (sum)

标签:

name    time                data

AAA    2021-10-1 13:05:00   11
AAA    2021-10-1 13:05:00   20
AAA    2021-10-1 14:10:00   35
BBB    2021-10-1 13:05:00   20
BBB    2021-10-1 13:05:00   20
BBB    2021-10-1 14:10:00   10
CCC    2021-10-1 14:10:00   8

我试过了:

select 名称,group_concat(数据)来自 wip,时间在“2021-10-26 00:00:00”和“2021-10-26 23:59:59”之间按名称分组

结果:

name   data
AAA   11,20,35
BBB   20,20,10
CCC   8

想要按小时(时间)结果汇总(数据),如下所示:

name   data
AAA    [31,35]
BBB    [40,10]
CCC    [ 0,18]

需要 2 个步骤:

SELECT name, GROUP_CONCAT(sum_data)
    FROM ( SELECT name, time, SUM(data) AS sum_data
              FROM tbl GROUP BY name, time ) AS x

(而且我不认为“旋转”是相关的。)

如果需要括号,请使用 CONCAT("[", GROUP_CONCAT(sum_data), "]")