SQL组按月分组

use*_*432 7 sql t-sql sql-server

我有一个返回到期日期的查询:

    SELECT ci.accountnumber
           , ci.accountname
           , cvu.ExpirationDate
      FROM dbo.clientinfo ci
INNER JOIN clientvehicleunit cvu ON ci.clientid = cvu.clientid
Run Code Online (Sandbox Code Playgroud)

到期日可以是任何月份和任何一年的任何时间.

我需要在12个月内返回每个月内有多少单位到期的计数....

我不知道我会怎么做?

Ada*_*Dev 19

你可以这样做:

例如,2012年将到期的单位数量:

SELECT MONTH(cvu.ExpirationDate) AS Mnth, YEAR(cvu.ExpirationDate) AS Yr, 
    COUNT(*) AS DueToExpire
FROM clientvehicleunit cvu
WHERE cvu.ExpirationDate >= '20120101' AND cvu.ExpirationDate < '20130101'
GROUP BY MONTH(cvu.ExpirationDate), YEAR(cvu.ExpirationDate)
Run Code Online (Sandbox Code Playgroud)