2010-12-14 9 views
0

Cela peut être aplied à des balises à coments, ...comment savoir combien de fois sa valeur dans les databes? et pour toutes les valeurs?

Ma question son pour obtenir par exemple, les 20 répétitions pour un atribute dans une table ..

Je veux dire, je sais que je peux demander pour un attribut sélectionné avec mysql_num_rows, mais comment puis-je le faire pour tous les connaître?

Par exemple,

couleurs les plus populaires: -100000 rouge bleu -5000 blanc -200 et ainsi de suite ...

si quelqu'un peut me donner un indice .. merci!

Répondre

1
SELECT `name`, count(*) as `count` FROM `colors` 
GROUP BY `name` 
ORDER BY `count` DESC 
1

Vous voulez faire ce calcul sur la base de données, pas dans votre application. Habituellement, une requête de la forme suivante devrait être bien:

SELECT color_id, COUNT(product_id) AS number 
FROM products 
GROUP BY color_id 
ORDER BY number DESC 
LIMIT 20 

Il sera plus rapide de cette façon, car seules les données de valeur count seront envoyés à partir de la base de données à l'application. De plus, si vous avez des index configurés correctement (sur color_id, par exemple), les cuisses seront plus lisses.

Questions connexes