Sql 查找雇用的最大员工数的月份
我有一个情况,我需要找到一个月,其中最大数量的雇员雇用 这是我的员工表: 尽管我有一个解决方案:Sql 查找雇用的最大员工数的月份,sql,sql-server-2008,Sql,Sql Server 2008,我有一个情况,我需要找到一个月,其中最大数量的雇员雇用 这是我的员工表: 尽管我有一个解决方案: select MM from ( select *, dense_RANK() OVER(order by cnt desc) as rnk from ( select month(doj) as MM,count(month(doj)) as CNT from employee
select MM
from (
select *, dense_RANK() OVER(order by cnt desc) as rnk
from (
select month(doj) as MM,count(month(doj)) as CNT
from employee
group by month(doj)
)x
)y
where rnk=1
但我对我所实施的并不满意,我希望找到最可行的解决方案。我认为最简单的方法是:
select top 1 year(doj), month(doj), count(*)
from employee
group by year(doj), month(doj)
order by count(*) desc;
注:
- 这将“月”解释为“年/月”。如果您确实只想要月份,则从
选择和
分组依据中删除
year()
- 这将返回一行。如果您希望在有领带的情况下有多行,请使用
选择带领带的顶部(1)