MySQL查询分组查询,分组查出数据后,将Id相同的数据合并返回

问题遇到的现象和发生背景

根据接口文档组装数据返回json。需要一周内,每天不同部门对应的数量
例如:

"xdata": [
"2022-01-12","2022-01-13","2022-01-14",
], //X轴数据
"ydata": [
{
"deptid": 12345, //部门ID
"deptname": "测试", //部门名称
"gogndanshudata": [
1234,1124,1352,1522
] //工单数量
},其他数据}

为了减少java代码,想在MySQL中直接查询所需数据格式

问题相关代码,请勿粘贴截图
SELECT khc.tj_shijian shijian,
       kad.dept_id deptid,
       kad.dept_name deptname ,
       SUM(khc.gogndan_shu) num 
FROM kxt_hotspot_count khc 
INNER JOIN kxt_auth_dept kad ON khc.area_id = kad.dept_id 
WHERE khc.version = '1' 
AND khc.tj_shijian BETWEEN '2022-02-11' AND '2022-02-20' 
GROUP BY kad.dept_id, khc.tj_shijian

img

运行结果及报错内容
我的解答思路和尝试过的方法

考虑使用 GROUP_CONCAT(expr) 但是使用sum聚合函数后报错

我想要达到的结果

图中后面相同id的shijian列和num合并显示
例如:
shijian列 : 2022-02-16,2022-02-17,2022-02-18
deptid列 : 12345(部门id)
num列 :111,1665,222

目前已解决:

SELECT
        kad.dept_id deptid,
        kad.dept_name deptname ,
        GROUP_CONCAT(gogndan_shu ORDER BY tj_shijian ASC) gogndanshudata,
                GROUP_CONCAT(tj_shijian ORDER BY tj_shijian ASC) shijian 
    FROM
        kxt_hotspot_count khc 
    INNER JOIN
        kxt_auth_dept kad 
            ON khc.area_id = kad.dept_id 
    WHERE
        khc.version = '1' 
        AND khc.tj_shijian BETWEEN '2022-02-11' AND '2022-02-20' 
    GROUP BY
        kad.dept_id;

img

可能有不对地方,欢迎大牛指正。修改

挺好的,严谨一点的话,kad.dept_name 也加入到group by 后面哈。