[SQL] LENGTH + GROUP BY + ORDER BY possible ?
jiantox
Messages postés
1092
Date d'inscription
Statut
Membre
Dernière intervention
-
NHenry Messages postés 15219 Date d'inscription Statut Modérateur Dernière intervention -
NHenry Messages postés 15219 Date d'inscription Statut Modérateur Dernière intervention -
Bonjour, voici mon soucis
j'ai actuellement cette requête qui me permet de lister dans l'ordre décroissant le nombre de messages postés par pseudo :
("SELECT *, COUNT(*) AS nmess FROM table WHERE type = 'message' AND pseudo != '' GROUP BY pseudo ORDER BY COUNT(message) DESC LIMIT 10");
Cette requête me convient parfaitement, mais ce que j'aimerais maintenant, c'est pouvoir lister les pseudo par nombre de caractères postés.
Du coup rajouter quelque part le fameux LENGTH, tout en gardant le group by pour les pseudos et le order by pour le décroissant.
J'ai essayer nombreuses choses mais la seule requête qui ne me sort pas d'erreur, c'est celle ci :
("SELECT *, LENGTH(message) AS nmess FROM table WHERE type = 'message' AND pseudo != '' GROUP BY pseudo ORDER BY LENGTH(message) DESC LIMIT 10");
Elle doit être bien erronée car elle me ressort ces résultats (comparés à ma 1ère requête) :
pseudo 1 - 274 messages - 4 caractères
pseudo 2 - 54 messages - 52 caractères
Quelqu'un peut m'éclairer ? j'ai toujours été pommé dans les requêtes imbriquées ou plutôt complexe comme celle-ci.
Merci d'avance
j'ai actuellement cette requête qui me permet de lister dans l'ordre décroissant le nombre de messages postés par pseudo :
("SELECT *, COUNT(*) AS nmess FROM table WHERE type = 'message' AND pseudo != '' GROUP BY pseudo ORDER BY COUNT(message) DESC LIMIT 10");
Cette requête me convient parfaitement, mais ce que j'aimerais maintenant, c'est pouvoir lister les pseudo par nombre de caractères postés.
Du coup rajouter quelque part le fameux LENGTH, tout en gardant le group by pour les pseudos et le order by pour le décroissant.
J'ai essayer nombreuses choses mais la seule requête qui ne me sort pas d'erreur, c'est celle ci :
("SELECT *, LENGTH(message) AS nmess FROM table WHERE type = 'message' AND pseudo != '' GROUP BY pseudo ORDER BY LENGTH(message) DESC LIMIT 10");
Elle doit être bien erronée car elle me ressort ces résultats (comparés à ma 1ère requête) :
pseudo 1 - 274 messages - 4 caractères
pseudo 2 - 54 messages - 52 caractères
Quelqu'un peut m'éclairer ? j'ai toujours été pommé dans les requêtes imbriquées ou plutôt complexe comme celle-ci.
Merci d'avance
A voir également:
- [SQL] LENGTH + GROUP BY + ORDER BY possible ?
- Gd group - Forum Consommation & Internet
- By click downloader avis - Forum Enregistrement / Traitement audio
- Ads by cooking ✓ - Forum Virus
- Files by google - Accueil - Applications & Logiciels
- Photos liked by ne fonctionne plus - Forum Facebook