Bonjour,
J'ai quelques soucis la clause GROUP BY dans ma requête sous MySQL. En effet cette dernière semble occulter certains enregistrements ou alors j'ai compris un truc de travers. Mon but est donc de grouper tous mes titres et d'avoir le premier sous titre correspondant.
Voici ma requête sans GROUP BY :
Elle me retourne ceci (je n'affiche pas tous les enregistrements bien sûr) :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 SELECT article_id, a.titre, a.texte, ss_titre, lieu_id,d.date1, d.date2 FROM RENSEIGNEMENTS r, DATES d, ARTICLES a WHERE r.date_id = d.id AND a.id = r.article_id AND (a.edition = 'NANCY' OR a.edition = 'NANCY-METZ' OR a.edition = 'NANCY-METZ-STRASB' OR a.edition = 'NANCY-METZ-STR-DIJON' OR a. edition = 'TTES EDITIONS') AND a.rubrique = 'MANIFESTATIONS' ORDER BY date1
Maintenant avec un GROUP BY :
Elle me retourne :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 SELECT article_id, a.titre, a.texte, ss_titre, lieu_id,d.date1, d.date2 FROM RENSEIGNEMENTS r, DATES d, ARTICLES a WHERE r.date_id = d.id AND a.id = r.article_id AND (a.edition = 'NANCY' OR a.edition = 'NANCY-METZ' OR a.edition = 'NANCY-METZ-STRASB' OR a.edition = 'NANCY-METZ-STR-DIJON' OR a. edition = 'TTES EDITIONS') AND a.rubrique = 'MANIFESTATIONS' GROUP BY a.titre ORDER BY date1
Vous notez donc que dans le cas des articles ayant plusieurs sous titres, les premiers sous titres n'apparaissent pas.
L'article des 750 ans de Pont à mousson par exemple : avec un GROUP BY il devrait avoir comme sous titre "Les actes fondateurs [...]" et non "Sons et lumières". De plus le mois de la date devrait être 05 etc... La requête n'est pas censé prendre le premier enregistrement pour compléter les autres colonnes après un GROUP BY ?
Si vous pouviez m'éclairer sur mon problème, merci.
Partager