You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python-MySQL关联查询需求:统计行数与STATUS值求和

解决方案

需求说明

从msg表获取完整行数据,同时关联Details表计算两个统计值:

  • STATUS:对应所有关联记录的STATUS字段值之和
  • COUNTS_Rows:对应关联记录的总行数

实现SQL语句

SELECT
    m.ID,
    m.APPID,
    m.Details,
    COALESCE(SUM(d.STATUS), 0) AS STATUS,
    COUNT(d.MSGID) AS COUNTS_Rows
FROM msg m
LEFT JOIN Details d
    ON m.ID = d.MSGID
    AND m.APPID = d.APPID
    AND m.USER = d.USER
GROUP BY m.ID, m.APPID, m.Details, m.USER;

语句解释

  • LEFT JOIN:确保msg表中所有记录都能被返回,即使没有对应的Details记录(此时统计值会通过COALESCE转为0)
  • SUM(d.STATUS):对关联的STATUS字段值求和,满足示例中0+0+1=1的计算需求
  • COUNT(d.MSGID):统计Details表中匹配的记录行数,因MSGID是关联字段,仅当存在匹配记录时非空,计数准确
  • GROUP BY:按msg表的非聚合字段分组,保证每条msg记录对应唯一的统计结果

查询结果

执行语句后将得到如下结果:

IDAPPIDDetailsSTATUSCOUNTS_Rows
1app1test details 113
2app2test details 201

内容的提问来源于stack exchange,提问作者Youo.info

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.13 22:47:23