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

如何按月份统计订单总数?当前SQL返回重复月份结果

问题解决:按月份统计订单总数

你的问题出在使用DISTINCT而非分组聚合来统计数据。要得到每个月份的订单总数,需要用GROUP BY子句按月份分组后再计算数量,修改后的SQL语句如下:

SELECT MONTH(orderdate) AS [Mon],
       COUNT(orderid) AS [Cnt]
FROM Orders
WHERE orderdate >= x AND orderdate < y
GROUP BY MONTH(orderdate)

原因说明:

  • DISTINCT的作用是对查询结果的整行数据去重,但它无法实现分组聚合统计。你原来的语句返回重复月份,是因为没有对月份进行分组,数据库无法正确聚合每个月份的订单数量。
  • GROUP BY MONTH(orderdate)会将数据按月份分成独立的分组,COUNT(orderid)会针对每个分组统计订单ID的数量,最终得到每个月份的总订单数,正好符合你想要的结果。

内容的提问来源于stack exchange,提问作者Phillip Price

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.18 08:02:02