我有一种情况需要找到雇用最多雇员的月份。
这是我的员工表:
虽然我有一个解决方案:
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
但我对我所实施的内容并不满意,并希望找到最可行的解决方案。
答案 0 :(得分:0)
我认为最简单的方法是:
select top 1 year(doj), month(doj), count(*)
from employee
group by year(doj), month(doj)
order by count(*) desc;
注意:
year()
和select
移除group by
。select top (1) with ties
。