0

tabel:

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

i'm tried :

select name,group_concat(data) from wip where time between '2021-10-26 00:00:00' and '2021-10-26 23:59:59' GROUP BY name

result:

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

want sum(data) group by hour(time) result like this:

name   data
AAA    [31,35]
BBB    [40,10]
CCC    [ 0,18]
Rick James
  • 135,179
  • 13
  • 127
  • 222
YH.CHENG
  • 13
  • 2

1 Answers1

0

It takes 2 steps:

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

(And I don't see "pivoting" as being relevant.)

If you need the brackets, use CONCAT("[", GROUP_CONCAT(sum_data), "]")

Rick James
  • 135,179
  • 13
  • 127
  • 222