数据表impo中按Model number汇总QTY的查询需求(SL为主键)
按Model number汇总QTY的SQL解决方案
嘿,我来帮你搞定这个汇总需求!针对你的impo表(SL为主键),要按相同Model number计算QTY的总和,这里有两种实用的实现方式:
基础汇总(仅型号+总数量)
这是最直接的写法,只返回每个型号对应的总数量:
SELECT `Model number`, SUM(QTY) AS total_qty FROM impo GROUP BY `Model number`;
比如你提到的INDO666,这个语句会自动把它的所有记录的QTY相加(40+35),返回对应的total_qty为75。
带主键列表的汇总(可选)
如果你还需要查看每个型号对应的所有主键SL,可以用GROUP_CONCAT把它们拼接起来:
SELECT `Model number`, SUM(QTY) AS total_qty, GROUP_CONCAT(SL SEPARATOR ', ') AS related_sl_ids FROM impo GROUP BY `Model number`;
这样结果里会多一列related_sl_ids,显示该型号下所有的主键ID,方便你关联原表的详细记录。
常见注意事项
- 不要把主键
SL放到GROUP BY里,因为每个SL都是唯一的,分组后会失去汇总的效果; - 如果
Model number字段有NULL值,会被归为一组,如果你想排除NULL,可以加WHEREModel numberIS NOT NULL; - 确保
QTY是数值类型(比如INT、DECIMAL),否则SUM函数可能无法正确计算。
内容的提问来源于stack exchange,提问作者Prabhat Chandra
相关产品推荐
相关产品推荐

