小编Mic*_*son的帖子

在Group By查询中包含缺少的月份

我想我在这里有一个艰难的...... :(

我想按月计算订单数量,即使是零.这是问题查询:

SELECT datename(month, OrderDate) as Month, COUNT(OrderNumber) AS Orders
FROM OrderTable
WHERE OrderDate >= '2012-01-01' and OrderDate <= '2012-06-30'
GROUP BY year(OrderDate), month(OrderDate), datename(month, OrderDate)
Run Code Online (Sandbox Code Playgroud)

我想要得到的是这样的:

Month            Orders
-----            ------
January          10
February         7
March            0
April            12
May              0
June             5
Run Code Online (Sandbox Code Playgroud)

...但我的查询在3月和5月跳过一行.我已经尝试了COALESCE(COUNT(OrderNumber), 0),ISNULL(COUNT(OrderNumber), 0)但我很确定分组导致无法正常工作.

t-sql sql-server group-by date-range

11
推荐指数
1
解决办法
2万
查看次数

标签 统计

date-range ×1

group-by ×1

sql-server ×1

t-sql ×1