2012-04-12 12 views
5

To jest moje pierwsze pytanie na stackoverflow, witam wszystkich.Wyraźne, licz i sortuj w jednym zapytaniu sql

Mam tabeli:

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

I chciałbym przygotować czarownica zapytanie SQL zwraca fk_user klasyfikowane według liczby wystąpień w tej tabeli. Na przykład:

fk_user 1 występuje 3 razy, więc będzie pierwszy.
fk_user 2 występuje raz, więc będzie ostatni.
fk_user 3 występuje dwa razy, więc będzie to drugie.

Wynik tego zapytania powinno być:

fk_user 
1 
3 
2 

Odpowiedz

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

@Marco. Thaks facetów. Jest uruchamiany. Mam małą reputację, aby kliknąć "ta odpowiedź jest przydatna", ale jest :) – pmajcher

+2

@pmajcher: ale powinieneś [zaakceptować odpowiedź] (http://meta.stackexchange.com/questions/5234/how-does- accept-an-answer-work) jeśli to rozwiązało twój problem :) Witamy w StackOverflow – Marco

3

Spróbuj

SELECT fk_user FROM your_table 
GROUP BY fk_user 
ORDER BY COUNT(*) DESC 
Powiązane problemy