SQL查询需求:获取指定订单中不同商品及其订购数量
解决订单商品数量统计问题
嘿,我来帮你完善这个SQL语句!你之前用DISTINCT确实能拿到唯一的商品ID,但要统计每个商品的订购数量,咱们得换个思路——用GROUP BY配合聚合函数COUNT()来实现。
正确的SQL语句
SELECT productid, COUNT(*) AS order_quantity FROM order_contents WHERE orderid = '4' GROUP BY productid;
语句解释
GROUP BY productid:把表中相同productid的记录归为一组,这样就能针对每个商品单独统计数量COUNT(*):统计每组内的记录条数,也就是该商品的订购次数AS order_quantity:给统计出来的数量列起一个清晰易读的别名,方便查看结果
执行结果
执行上面的语句后,你会得到这样的输出:
| productid | order_quantity |
|---|---|
| 150 | 2 |
| 160 | 1 |
| 162 | 1 |
小提示:如果你的orderid字段是数字类型(不是字符串),可以去掉语句里的单引号,写成WHERE orderid = 4,这样更规范哦~
内容的提问来源于stack exchange,提问作者Mr Panther
相关产品推荐
相关产品推荐

