2010-04-13 9 views
1

Supposons que j'ai une colonne appelée "fruits" Je veux sélectionner tous les fruits supérieurs, classés par fruits (et groupe de + compte).Comment écrire cette requête GROUP BY dans MYSQL?

Fruits: 
orange 
orange 
apple 
banana 
apple 
apple 

Dans ce cas, l'instruction select retournerait:

apple, 3 
orange, 2 
banana, 1 

Répondre

4
select fruits, count(fruits) 
from table 
group by fruits 
order by count(fruits) desc 
4

Untested:

SELECT 
    fruit_name, 
    COUNT(fruit_id) 
FROM 
    fruit 
GROUP BY 
    fruit_name 
ORDER BY 
    COUNT(fruit_id) DESC 
+0

@Phil, cela semble très bien. Assurez-vous d'utiliser 'fruit_name ASC' pour la commande secondaire. –

2
SELECT fruitname, COUNT(*) AS ttl 
FROM fruits 
GROUP BY fruitname 
ORDER BY ttl DESC 
1

Testés:

select fruits, count(fruits) 
from fruit 
group by fruits 
order by 2 desc