林也只会CV 2022-02-21 13:39 采纳率: 0%
浏览 109

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

  • 写回答

2条回答 默认 最新

  • 林也只会CV 2022-02-21 14:08
    关注

    目前已解决:

    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

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

    评论

报告相同问题?

问题事件

  • 创建了问题 2月21日

悬赏问题

  • ¥15 编辑cmake lists 明明写了project项目名,但是还是报错怎么回事
  • ¥15 关于#计算机视觉#的问题:求一份高质量桥梁多病害数据集
  • ¥15 特定网页无法访问,已排除网页问题
  • ¥50 如何将脑的图像投影到颅骨上
  • ¥15 提问一个关于vscode相关的环境配置问题,就是输入中文但是显示不出来,代码在idea可以显示中文,但在vscode不行,不知道怎么配置环境
  • ¥15 netcore使用PuppeteerSharp截图
  • ¥20 这张图页头,页脚具体代码该怎么写?
  • ¥15 关于#sql#的问题,请各位专家解答!
  • ¥20 WPF MVVM模式 handycontrol 框架, hc:SearchBar 控件 Text="{Binding NavMenusKeyWords}" 绑定取不到值
  • ¥15 需要手写数字信号处理Dsp三个简单题 不用太复杂