Je ne sais pas pourquoi je ne peux pas faire fonctionner cette requête comme je le souhaite, j'espère que vous pouvez m'éclairer.La requête GROUP BY ne se passe pas comme prévu
SELECT e.id,
e.num,
e.name,
s.name as s_name,
t.num as t_num,
e.show_id
FROM s_episodes e
LEFT JOIN shows s ON s.id = e.show_id
LEFT JOIN s_seasons t ON t.id = e.season_id
GROUP BY e.show_id
ORDER BY e.dateadded DESC
dateadded est un int (délai d'attente unix). e.num, t.num sont aussi int. Il est supposé montrer les derniers épisodes ajoutés, mais quand les GROUP BY groupent les rangées, les épisodes listés ne sont pas les plus récents mais le premier épisode (numéro d'épisode indiqué par e.num) de la dernière saison (numéro de saison indiqué par t_num) d'un spectacle (cependant, les spectacles sont classés par date selon les derniers épisodes, mais l'épisode répertorié est le premier de la saison, pas le dernier ajouté).
Des idées?
J'espère que je me suis fait clair, désolé pour les erreurs en anglais. Merci.
fou mysql !, cette déclaration devrait jeter une erreur au sujet * e.id, e.num, e.name, s.name, * et * t.num * ne faisant pas partie du groupe par ou une fonction aggergate. –
Je ne comprends pas pourquoi vous voulez la clause 'GROUP BY' - [mysql permet au groupe d'omettre les colonnes] (http://dev.mysql.com/doc/refman/5.0/fr/group-by-hidden -columns.html). Voulez-vous seulement voir la liste des derniers épisodes ajoutés par spectacle? –
aidez-moi avec la logique: chaque saison a x épisodes ... alors quel est l'élément de spectacle? ....... 2. gauche rejoindre, gauche rejoindre - se sent comme perdre quelque chose ... alors encore une fois je dois comprendre ce que je veux après – Asaf