SQL Order By Count
Si j'ai un tableau et les données comme ceci:
ID | Name | Group
1 Apple A
2 Boy A
3 Cat B
4 Dog C
5 Elep C
6 Fish C
et je tiens à le commander en fonction du total du Groupe de la plus petite à la plus grande valeur, tels que :
A - 2 dossiers , B - 1 dossier , C - 3 dossiers , de sorte qu'il deviendra:
3 Cat B
1 Apple A
2 Boy A
4 Dog C
5 Elep C
6 Fish C
J'ai essayé
$sql = "SELECT ID,Name FROM table ORDER BY COUNT(Group)";
mais elle retourne un résultat pour moi.
Existe-il des astuces? Merci.
Vous devez vous connecter pour publier un commentaire.
Vous avez besoin d'agréger les données de la première, ce qui peut être fait en utilisant la clause GROUP BY:
Le DESC de mot-clé vous permet d'afficher le nombre le plus élevé d'abord, l'ORDRE PAR défaut des commandes dans l'ordre croissant qui montrent le plus bas comptent en premier.
Essayer :
à l'ordre, en nombre décroissant faire
Cela permettra de regrouper les résultats par la
group
colonne de retourner legroup
et lacount
et sera de retour à l'ordre dansgroup
ordreou à l'ordre par le comte
...aucune des autres réponses semblent faire ce que le demandeur a demandé.
Pour le tableau nommé "choses" avec la colonne "groupe":
qui donne:
Essayez d'utiliser ci-dessous Requête:
Ci-dessous donne-moi le contraire de ce que vous avez. (Avis du Groupe de colonnes)
Laissez-moi savoir si ce qui est bien avec vous...
Je suis en train d'essayer d'obtenir ce que vous voulez trop...
Q. Liste le nom de chaque spectacle, et le nombre de fois qu'elle a été tenue.
Liste le spectacle qui a lieu le plus souvent en premier.
Ans: