Salut à tous,

J'aimerais savoir comment catégoriser les résultats d'un count.

*Ma requête actuelle :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
SELECT joueur.id, count(*)as compte_cartesDS
from collections,joueur,cartes
where joueur.id=collections.id_joueur AND collections.id_carte=cartes.id
AND (cartes.id_rarete=21 OR cartes.id_rarete=22)
AND joueur.action>1489359600
AND joueur.inscription<1483225200
AND joueur.admin=0
group by joueur.id
Ce résultat me donne le nombre de cartes par joueurs, mais je souhaite ensuite faire des catégories de ce nombre de cartes.
Par exemple si le joueur a 5 cartes alors il sera dans la catégorie [3-5], si il en a 100 alors il sera dans la catégorie 50+...


*J'ai pensé à utiliser la fonction case, mais cela ne marche pas...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
SELECT joueur.id, count(*)as compte_cartesDS
case
when compte_cartesDS=0 then '0 cartes'
when compte_cartesDS>0 and compte_cartesDS<=2 THEN 'Entre 1 et 2 cartes'
when compte_cartesDS>2 and compte_cartesDS<=5 THEN 'Entre 3 et 5 cartes'
when compte_cartesDS>5 and compte_cartesDS<=10 THEN 'Entre 6 et 10 cartes'
when compte_cartesDS>10 and compte_cartesDS<=50 THEN 'Entre 11 et 50 cartes'
ELSE 'Plus de 50 cartes'
END
 from collections,joueur,cartes
 where joueur.id=collections.id_joueur AND collections.id_carte=cartes.id
 AND (cartes.id_rarete=21 OR cartes.id_rarete=22)
 AND joueur.action>1489359600
 AND joueur.inscription<1483225200
AND joueur.admin=0
group by joueur.id
Il faudra au final que je compte combien il y a de joueurs dans chaque catégorie.

Ca serait sympa si vous pouvez m'aider !

Merci d'avance.

Cordialement,