我有一个要求,有一个表CR。 Type是这里的一个字段。现在它有A,B,C等值。我需要单独计算在1月,2月,2013年12月的A类型的CR记录。在SQL SERVER 2008中为类型B和C命名.A,B,C将是列标题和每个月的计数 - 年份组合归于此。
有人可以帮助我吗?
答案 0 :(得分:1)
假设CR表有一个名为dat的日期时间字段,你可以用这种方式GROUP BY MONTH:
SELECT DATEPART(Month, dat) AS month, Type
FROM CR
WHERE DATEPART(Year, dat) = 2013
GROUP BY Type , DATEPART(Year, dat), DATEPART(Month, dat)
答案 1 :(得分:1)
在问这个之前你需要谷歌...
SELECT * FROM
(SELECT type, datepart(mm, date) month, count(1) cn
FROM CR
WHERE datepart(yyyy, date) = '2013'
GROUP BY type, datepart(mm, date)
) AS t
PIVOT(MIN(cn) FOR type IN ([A], [B], [C])) AS m