2012-04-12 9 views
5

Questa è la mia prima domanda su stackoverflow, benvenuto a tutti.Distinti, contati e ordinati in una query sql

Ho una tabella:

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

e vorrei preparare una strega di query SQL restituisce fk_user ordinate per il numero di occorrenze in quella tabella. Ad esempio:

fk_user 1 si verifica 3 volte, quindi sarà il primo.
fk_user 2 si verifica una volta, quindi sarà l'ultimo.
fk_user 3 si verifica due volte, quindi sarà il secondo.

Risultato di tale query dovrebbe essere:

fk_user 
1 
3 
2 

risposta

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

@Marco. Ragazzi. È gestito. Ho poca reputazione di cliccare "questa risposta è utile", ma è :) – pmajcher

+2

@pmajcher: ma dovresti [accettare una risposta] (http://meta.stackexchange.com/questions/5234/how-does- accepting-an-answer-work) se risolvesse il tuo problema :) Benvenuto su StackOverflow – Marco

3

Prova questa

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