Dam*_*ien 2 sql sql-server sql-server-2005
有没有办法在指定的时间内运行查询,比如最近 5 个月,并且能够返回每个月创建的记录数?这是我的桌子的样子:
SELECT rID, dateOn FROM claims
Run Code Online (Sandbox Code Playgroud)
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
Run Code Online (Sandbox Code Playgroud)
在这个查询中,WHERE dateOn >= DATEADD(month, -5, GETDATE())确保它是过去 5 个月,GROUP BY MONTH(dateOn)然后允许它每月计数。
为了安抚社区,这里有一个SQL Fiddle来证明这一点。