Sto cercando di trovare una query MySQL che trovi valori distinti in un campo particolare, conta il numero di occorrenze di quel valore e poi ordina i risultati per il conteggio.
esempio db
id name ----- ------ 1 Mark 2 Mike 3 Paul 4 Mike 5 Mike 6 John 7 Mark
Risultato atteso
name count ----- ----- Mike 3 Mark 2 Paul 1 John 1
Grazie
SELECT name,COUNT(*) as count FROM tablename GROUP BY name ORDER BY count DESC;
che dire di qualcosa del genere:
select name, count(*) as num from your_table group by name order by count(*) desc
cioè, si sta selezionando il nome e il numero di volte che appare; ma raggruppando per nome in modo che ogni nome venga selezionato una sola volta.
Quindi, ordinate per numero di volte, desc; avere per primi gli utenti che appaiono più di frequente.
Ho appena cambiato Amber’s COUNT (*) in COUNT (1) per prestazioni migliori.
SELECT name, COUNT(1) as count FROM tablename GROUP BY name ORDER BY count DESC;