2009-11-19 4 views
1

Je travaille actuellement sur une petite fonctionnalité pour un projet et je me demandais comment atteindre le meilleur résultat, j'ai une table pleine de critiques avec le score étant sur 5 et être stocké comme score dans la base de données, sur une page i Je veux montrer combien de chaque critique de score il y a, c.-à-d. nombre de critiques 5 étoiles, 4 étoiles etc.Requête SQL compliquée - comment le faire?

Mais je ne sais pas comment faire mieux, je n'ai pas besoin de 5 requêtes différentes, ce serait terrible le design ne le serait-il pas?

Merci et nous espérons que vous pouvez aider!

+4

Partagez vos structures de table et nous pouvons vous aider mieux –

+0

Pouvez-vous fournir le nom de la table, une liste de ses colonnes comprenant le type de données et 3 lignes de données d'échantillon? –

+0

Le type de * GROUP BY * peut être utile, bien que la question doive être clarifiée et que d'autres détails tels que les tables se structurent avec les relations pour déterminer la complexité éventuelle de la ou des requêtes. – Sergii

Répondre

9

Depuis que je n'ai pas la structure de votre table, je ferais quelque chose de similaire à ce (avec des noms appropriés remplacés)

édité SQL basé sur les commentaires

Select Score, COUNT (*) as NumScores 
From MyTableOfScores 
Group By Score 
Order by Score Desc 
+0

Peut-être que vous souhaitez «Ordre par Score DESC» –

+0

a parfaitement fonctionné - merci beaucoup beaucoup - n'aurait pas pu le faire sans vous :) – David

3

Vous avez besoin quelque chose comme ceci:

select score, count(*) from reviews group by score 
Questions connexes