数据库模型中唯一相关的表是“employee”。
问:员工的生日是在哪个月?
通过使用
SELECT DATEPART(m, dateofbirth) AS month
FROM employee
我能看到每个员工的所有月份,并自己数一数。
但是我怎么才能显示最常见的生日月份呢?
提前感谢!
发布于 2018-04-22 14:33:33
您需要使用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)
发布于 2018-04-22 21:42:40
这会给你确切的月份你要找的:
SELECT TOP 1 DATEPART(m, dateofbirth) AS month
FROM employee
GROUP BY DATEPART(m, dateofbirth)
ORDER BY count(DATEPART(m, dateofbirth)) DESC
https://stackoverflow.com/questions/49971307
复制相似问题