以月份分隔的SQL总和和计数
我正在编写一个脚本,该脚本查询一个表,对状态为10的所有行进行计数,并按月分离总计数。有些事 考虑到我的成绩有两个12月,这是不对的 在11月,其中只有一个日期,这意味着两行的状态为10,并且在同一日期(11-04)下。12月在同一日期(12-04)有252行,12-05日期有1行 如何按月份查询和分离计数和日期 非常感谢您的帮助以月份分隔的SQL总和和计数,sql,sql-server,sql-server-2008,Sql,Sql Server,Sql Server 2008,我正在编写一个脚本,该脚本查询一个表,对状态为10的所有行进行计数,并按月分离总计数。有些事 考虑到我的成绩有两个12月,这是不对的 在11月,其中只有一个日期,这意味着两行的状态为10,并且在同一日期(11-04)下。12月在同一日期(12-04)有252行,12-05日期有1行 如何按月份查询和分离计数和日期 非常感谢您的帮助 SELECT CONVERT(CHAR(3), Datename(month, datecomplete)) AS Month, Count(*)
SELECT CONVERT(CHAR(3), Datename(month, datecomplete)) AS Month,
Count(*) AS Val
FROM nwds
WHERE status = 10
GROUP BY Datediff(month, 0, datecomplete),
datecomplete
我的结果
Nov 2
Dec 252
Dec 1
预期结果
Nov 2
Dec 253
datecomplete
应被排除在groupby
之外,否则结果将按天分组。分组需要在datecomplete列的月
和年
部分
SELECT
CONVERT(CHAR(3), Datename(month, datecomplete)) AS Month,
count(*) AS Val
FROM nwds
WHERE status = 10
GROUP BY CONVERT(CHAR(3), Datename(month, datecomplete)) ,
datepart(yyyy, datecomplete)
datecomplete
应被排除在groupby
之外,否则结果将按天分组。分组需要在datecomplete列的月
和年
部分
SELECT
CONVERT(CHAR(3), Datename(month, datecomplete)) AS Month,
count(*) AS Val
FROM nwds
WHERE status = 10
GROUP BY CONVERT(CHAR(3), Datename(month, datecomplete)) ,
datepart(yyyy, datecomplete)
如果您曾经获得过不同年份的数据,您可以通过将年份添加到组中
SELECT LEFT(DATENAME(M, datecomplete), 3) AS Month,
YEAR(datecomplete) AS Year,
Count(*) AS Val
FROM nwds
WHERE status = 10
GROUP BY LEFT(DATENAME(M, datecomplete), 3), YEAR(datecomplete)
如果您曾经获得过不同年份的数据,您可以通过
将年份添加到组中
SELECT LEFT(DATENAME(M, datecomplete), 3) AS Month,
YEAR(datecomplete) AS Year,
Count(*) AS Val
FROM nwds
WHERE status = 10
GROUP BY LEFT(DATENAME(M, datecomplete), 3), YEAR(datecomplete)
试试这个
select CONVERT(char(3),DATENAME(MONTH,datecomplete)) as [month],
count(*) as val
from nwds
WHERE status = 10
group by CONVERT(char(3),DATENAME(MONTH,datecomplete))
试试这个
select CONVERT(char(3),DATENAME(MONTH,datecomplete)) as [month],
count(*) as val
from nwds
WHERE status = 10
group by CONVERT(char(3),DATENAME(MONTH,datecomplete))