Moh*_*eth 7 sql-server group-by datetime
我有一个表Employee
,其中包含列 ID、加入日期和名称
加入日期是一DATETIME
栏。
我想知道十月份有多少用户加入?
如果您只是在寻找 10 月份而不考虑年份,那么简单的方法就是只查找COUNT
该月的记录:
SELECT COUNT(*) AS NumberOfJoiners FROM Employee WHERE MONTH(DateOfJoining) = 10;
Run Code Online (Sandbox Code Playgroud)
或者
SELECT COUNT(*) AS NumberOfJoiners FROM Employee WHERE DATEPART(MONTH, DateOfJoining) = 10;
Run Code Online (Sandbox Code Playgroud)
如果你想按年份分组,那么你需要一个 group by 子句,否则 2013 年 10 月、2014 年、2015 年等只会被分组到一行中:
SELECT
DATEPART(YEAR, DateOfJoining) AS YearOf Joining,
COUNT(*) AS NumberOfJoiners
FROM Employee
WHERE DATEPART(MONTH, DateOfJoining) = 10
GROUP BY DATEPART(YEAR, DateOfJoining);
Run Code Online (Sandbox Code Playgroud)