SQL group by et distinct
rudak
Messages postés
590
Date d'inscription
Statut
Membre
Dernière intervention
-
fmarie -
fmarie -
Bonjour, pour mon forum, je voudrais afficher distinctement mes forums (thématiques) dans l'ordre du plus recent au plus ancien des posts qui s'y trouvent...
voila ma requette qui ne fonctionne pas : (elle me renvoie bien les forum mais pas dans lordre voulu)
mes datespost sont stokées en timestamp (INT)
exemple table :
FORUM_____ SUJET______MESSAGE_________DATEPOST
nature_____poissons_____blablablabla________150
nature_____maisons_____blablablabla_________80
nature_____etoiles______blablablabla_________120
passion____vélo________blablablablabla_______180
passion____piscine______blablablablabla_______60
amour_____julie________blablablabla_________140
et je voudrai que cela me sorte donc :
passion
nature
amour
du plus recent (180) au plus vieu (140)
j'espere avoir été sufisament clair dans mes explications ^^, je vous remercie pour votre coup de main
voila ma requette qui ne fonctionne pas : (elle me renvoie bien les forum mais pas dans lordre voulu)
SELECT forum , datepost FROM monforum GROUP BY forum ORDER BY datepost DESC
mes datespost sont stokées en timestamp (INT)
exemple table :
FORUM_____ SUJET______MESSAGE_________DATEPOST
nature_____poissons_____blablablabla________150
nature_____maisons_____blablablabla_________80
nature_____etoiles______blablablabla_________120
passion____vélo________blablablablabla_______180
passion____piscine______blablablablabla_______60
amour_____julie________blablablabla_________140
et je voudrai que cela me sorte donc :
passion
nature
amour
du plus recent (180) au plus vieu (140)
j'espere avoir été sufisament clair dans mes explications ^^, je vous remercie pour votre coup de main
9 réponses
bonjour redak!
pour afficher des resultats disctincts:
SELECT DISTINCT ....
fais un test et tu verra par toi même ;)
pour afficher des resultats disctincts:
SELECT DISTINCT ....
fais un test et tu verra par toi même ;)
oué merci mais si c'étai si simple je sera pas venu demander ici...
je voudrais pas seulement les distinct forums je veu aussi les trier du plus grand datepost au plus petit ?
et "SELECT DISTINCT forum FROM monforum ORDER BY datepost" ne suffi pas.
on ne peu pas utiliser datepost si le champ n'est pas après le select, et si je met SELECT DISTINCT forum, datepost, jai plus seulement mes distinct forums mais aussi une ligne de result par forum / datepost
je voudrais pas seulement les distinct forums je veu aussi les trier du plus grand datepost au plus petit ?
et "SELECT DISTINCT forum FROM monforum ORDER BY datepost" ne suffi pas.
on ne peu pas utiliser datepost si le champ n'est pas après le select, et si je met SELECT DISTINCT forum, datepost, jai plus seulement mes distinct forums mais aussi une ligne de result par forum / datepost
non ca me donne toujours pas dans l'ordre voulu ( avec ou sans le DESC )
je n'obtiens pas les forums corespondants au plus grands datepost
je n'obtiens pas les forums corespondants au plus grands datepost
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
c'est exact ce que tu dis mais, essaie cette requete, et je pense fortement que ça marchera:
SELECT DISTINCT forum FROM monforum ORDER BY DATEPOST DESC;
avec cette requete tu auras au final un tableau avec les forums classés distinctement du plus récent datepost au plus ancien.
si tu as des doutes sur le résultats que cette requete te donne alors compare le resultat de celle au-dessus avec le resultat de celle-ci:
SELECT DISTINCT FORUM, DATEAJOUT FROM MONFORUM ORDER BY DATEPOST DESC;
et tu verras par toi meme que le classement des forums donné par la 1ere requete et le meme classement si tu fais la distinction pour la 2eme.
requetes testées sur MYSQL!
bonne année 2010 à toi et à tous ce ptit monde sur commentçamarche ;)
SELECT DISTINCT forum FROM monforum ORDER BY DATEPOST DESC;
avec cette requete tu auras au final un tableau avec les forums classés distinctement du plus récent datepost au plus ancien.
si tu as des doutes sur le résultats que cette requete te donne alors compare le resultat de celle au-dessus avec le resultat de celle-ci:
SELECT DISTINCT FORUM, DATEAJOUT FROM MONFORUM ORDER BY DATEPOST DESC;
et tu verras par toi meme que le classement des forums donné par la 1ere requete et le meme classement si tu fais la distinction pour la 2eme.
requetes testées sur MYSQL!
bonne année 2010 à toi et à tous ce ptit monde sur commentçamarche ;)
après avoir testé je confirme cela ne fonctionne pas
la syntaxe de la premiere est fausse (meme si elle ne retourne pas l'erreur) et elle ne ressort pas les infos souhaitées ce qui est normal vu l'erreur et la deuxième ne retourne dailleurs pas seulement le nombre de forums distincts mais autant de lignes de forum qu'il y a d'entrées dans la table...
ce genres de requettes basiques je les ai testées avant de venir ici donc bon... ;)
merci quand meme d'essayer mais c plus complexe que ca :)
la syntaxe de la premiere est fausse (meme si elle ne retourne pas l'erreur) et elle ne ressort pas les infos souhaitées ce qui est normal vu l'erreur et la deuxième ne retourne dailleurs pas seulement le nombre de forums distincts mais autant de lignes de forum qu'il y a d'entrées dans la table...
ce genres de requettes basiques je les ai testées avant de venir ici donc bon... ;)
merci quand meme d'essayer mais c plus complexe que ca :)
donc y a certainement qqch qui m'échape, pcq le resultat q tu demande je l'ai moi en faisant ces requetes sur ma propre base de données et ça fonctionnent parfaitement.
pour la 2eme requete c vrai, elle retourne autant de ligne qu'il y a dans la table mais elle est là juste pour verification par contre la 1ere elle retourne sans repetition et en ordre voulu descendant ou ascendant.
donc pour ne pa perdre trop de temps essaie de donner plus de precisions sur le sujet peut etre q si c'est compliqué pour nous deux ça sera pas le cas pour un autre
pour la 2eme requete c vrai, elle retourne autant de ligne qu'il y a dans la table mais elle est là juste pour verification par contre la 1ere elle retourne sans repetition et en ordre voulu descendant ou ascendant.
donc pour ne pa perdre trop de temps essaie de donner plus de precisions sur le sujet peut etre q si c'est compliqué pour nous deux ça sera pas le cas pour un autre