有没有一种方法可以在指定的时间内(例如最近5个月)运行查询,并能够返回每月创建的记录数量?这是我的桌子的样子:

SELECT rID, dateOn FROM claims

最佳答案

SELECT COUNT(rID) AS ClaimsPerMonth,
    MONTH(dateOn) AS inMonth,
    YEAR(dateOn) AS inYear FROM claims
WHERE dateOn >= DATEADD(month, -5, GETDATE())
GROUP BY MONTH(dateOn), YEAR(dateOn)
ORDER BY inYear, inMonth


在此查询中,WHERE dateOn >= DATEADD(month, -5, GETDATE())确保它已过去5个月,然后GROUP BY MONTH(dateOn)允许它每月进行计数。

为了安抚社区,这里有一个SQL Fiddle来证明这一点。

10-04 15:00