Ordre d'affichage d'une requete. - SQL/NoSQL - Programmation
Marsh Posté le 30-08-2002 à 16:11:35
Essaye ça
SELECT COUNT(*), MGSROO_ID,
decode(MGSROO_ID,7,1,16,2,8,3,11,4,14,5,1,6,2,7,4,8,0)
FROM T_REPLY_RPY WHERE MGSROO_ID = 7 OR MGSROO_ID = 16 OR MGSROO_ID = 8 OR MGSROO_ID = 11 OR MGSROO_ID = 14 OR MGSROO_ID = 1 OR MGSROO_ID = 2 OR MGSROO_ID = 4
GROUP BY MGSROO_ID,3
order by 3
No garantie
Marsh Posté le 30-08-2002 à 15:02:22
Je génère une requete en php:
SELECT COUNT(*), MGSROO_ID FROM T_REPLY_RPY WHERE MGSROO_ID = 7 OR MGSROO_ID = 16 OR MGSROO_ID = 8 OR MGSROO_ID = 11 OR MGSROO_ID = 14 OR MGSROO_ID = 1 OR MGSROO_ID = 2 OR MGSROO_ID = 4 GROUP BY MGSROO_ID
Et donc, au maximum il y aura 20 MGSROO_ID = x, puisqu'on affiche au maximum 20 messages...
Mais, il y a deux problèmes qui viennent se greffer à cette solution:
1/ Quand il y a 0 réponses, ca marque pas 0, ca marque rien du tout!, bon à la limite je peux m'en sortir avec un algo, c po grave
2/ Plus grave, ca ne sort pas les réponses désirés dans le bon ordre, la ca me donne qqchoses dans cet ordre:
+----------+-----------+
| COUNT(*) | MGSROO_ID |
+----------+-----------+
| 1 | 1 |
| 18 | 2 |
| 8 | 4 |
| 5 | 7 |
| 33 | 8 |
| 19 | 11 |
+----------+-----------+
Alors que je le voudrais dans cet ordre:
7, 16, 8, 11, 14, 1, 2, 4
Comment je peux faire pour l'avoir dans l'ordre des "OR" ?
Merci.
[cpp]
Message édité par cult le 30-08-2002 à 15:03:07