唯一相关的表是数据库模型中的“员工”。
问:哪个月是员工生日最多的?
使用
SELECT DATEPART(m, dateofbirth) AS month
FROM employee
我实际上可以看到每个员工的所有月份并自己计算。
但我怎样才能展示最常见的生日月份?
提前致谢!
答案 0 :(得分:1)
您需要使用GROUP BY
。这会将单独的month
值组合在一起。完成后,您可以应用COUNT
,然后按该统计信息的降序排序值。然后,您需要将该逻辑包装在公用表表达式中,这样您就可以只选择具有最大COUNT
的月份。
WITH ranking AS (
SELECT
DATEPART(m, dateofbirth) AS month,
COUNT(*) as ct
FROM DM_MTA.dbo.employee
GROUP BY DATEPART(m, dateofbirth)
)
select
month
from
ranking
where ct = (select max(ct) from ranking)
答案 1 :(得分:0)
这将为您提供您正在寻找的确切月份:
SELECT TOP 1 DATEPART(m, dateofbirth) AS month
FROM employee
GROUP BY DATEPART(m, dateofbirth)
ORDER BY count(DATEPART(m, dateofbirth)) DESC