2017-07-10 13 views
0

私のシナリオはこのlinkとかなり似ていますが、Group By [some field]に加えて、結果をCOUNT([some field])でソートする必要もあります。このSQL文の適用後個別のフィールドで行全体を選択し、その個別フィールドのCOUNTで結果をソートする方法はありますか?

Title  Category 
Project 1 Admin 
Project 2 Development 
Project 2 Admin 
Project 3 Development 

例えば、私はこのテーブルを持っているかもしれ

Project 1 Admin 
Project 2 Admin 
Project 3 Development 

しかし、私はまた、これをソートする必要があります。

SELECT Title, MIN(Category) AS Category 
FROM MyTable 
GROUP BY Title 

を私は持っています最終的にこれを得るためにタイトルのCOUNT()に従って:

Project 2 Admin 
Project 1 Admin 
Project 3 Development 

この結果はどのように達成できますか?

+0

をあなたが望むことを暗示します: '注文(人数)(*)DESC' – dnoeth

+0

@dnoeth、なぜ「カテゴリ」ではなく「タイトル」によって注文ORDER BY COUNT(*)ですか? – Sajuuk

+0

それは、あなたがそれを明示的に追加しない限り、カウントによってのみ注文し、二次注文はランダムです。 – dnoeth

答えて

1

使用あなたがorder bycount(Title)使用することができますOrder by

SELECT Title, MIN(Category) AS Category 
FROM MyTable 
GROUP BY Title 
Order by count(*) desc,Category 
1

COUNT集計:あなたの、まあ

SELECT Title, MIN(Category) AS Category 
FROM MyTable 
GROUP BY Title 
ORDER BY count(Title) DESC, Title 
1

COUNT集約関数で使用ORDER BY

SELECT Title, MIN(Category) AS Category 
FROM MyTable 
GROUP BY Title 
Order by count(*) desc,Category 
+0

なぜカウント(タイトル)ではなくカウント(*)を使用したのか尋ねますか? – Sajuuk

関連する問題