2016-10-24 10 views
-2

私は、最大の従業員数を雇った月を見つける必要がある状況があります。私はこのためのソリューションがありますが採用した従業員の最大人数の月を見つける

enter image description here

:ここ

は私の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 

をしかし、私は私が実装したものに満足していない、最も実現可能なソリューションをしたいですそれのための。

+1

@JaydipJ、私の質問のフォーマットに感謝します。ご覧のとおり、私はstackoverflowを初めて使用していて、視聴者にとってどのように役立つ書式設定が適切かはわかりませんでした。 – yogeshgirnar

答えて

0

私は最も簡単な方法があると思う:

select top 1 year(doj), month(doj), count(*) 
from employee 
group by year(doj), month(doj) 
order by count(*) desc; 

注:

  • これは "年/月" であると "月" を解釈します。あなたが本当に月だけをしたい場合はselectgroup byの両方からyear()を削除してください。
  • これは1つの行を返します。複数の行が必要な場合は、select top (1) with tiesを使用します。
+0

ありがとうございました。私はそれを知らなかった。 – yogeshgirnar

関連する問題