2012-04-12 20 views
5

Bu benim stackoverflow hakkındaki ilk sorum, herkese hoş geldin.Tek bir sql sorgusunda farklı, sayın ve sıralayın

Ben bir tablo vardır:

id fk_user 
1  1 
2  1 
3  3 
4  2 
5  3 

Ve bir SQL sorgusu cadı fk_user o tablodaki olaylar sayısına göre sıralanır döner hazırlamak istiyoruz. Örneğin:

fk_user 1 3 kez oluşur, bu yüzden ilk olacaktır.
fk_user 2 bir kez oluşur, bu yüzden son olacak.
fk_user 3 iki kez oluşur, bu yüzden ikinci olur. Bu sorgunun

Sonucu olmalıdır:

fk_user 
1 
3 
2 

cevap

9
select fk_user from 
xxx 
group by fk_user 
order by count(*) desc 
+0

@Marco deneyin. Ahbaplar. Kaçıyor. "Bu cevap yararlıdır" ı tıklamanız için küçük bir şöhrete sahip olmak zorundayım, ancak bu, – pmajcher

+2

@ pmajcher'dır: fakat [bir cevabı kabul etmelisiniz] (http://meta.stackexchange.com/questions/5234/how-does- bir cevap-cevap-çalışma) eğer probleminizi çözdüyse :) StackOverflow'a Hoş Geldiniz – Marco

3

bu

SELECT fk_user FROM your_table 
GROUP BY fk_user 
ORDER BY COUNT(*) DESC 
İlgili konular