le 27/01/2007 à 11:29
mobman02
Bonjour,
j'ai un chtit problème,
j'essaye d'optimiser mon site depuis que j'ai découvert les jointure (heu, depuis avant hier quoi :D),
dans ce cas la, il s'agit de l'affichage des news.
Avant j'avais une requête qui chargeait toutes les news,
puis une requête par news pour compter le nombre de commentaires.
Je cherche à faire tout ça en une seule requête :
Mais MySQL me renvoi cette erreur :
Erreur de syntaxe près de 'WHERE a.validation = 1
ORDER BY a.date_news DESC
LIMIT 0 , 5' à la ligne 15
Je pense que le problème vient du GROUP BY (dont je ne saisie pas bien l'utilité),
si je le retire MySQL me dit ça :
Mélanger les colonnes GROUP (MIN(),MAX(),COUNT()...) avec des colonnes normales est interdit s'il n'y a pas de clause GROUP BY
Voilà vous savez tout ^^
J'espère que vous pourrez m'aider :)
Bye et merci d'avance.
j'ai un chtit problème,
j'essaye d'optimiser mon site depuis que j'ai découvert les jointure (heu, depuis avant hier quoi :D),
dans ce cas la, il s'agit de l'affichage des news.
Avant j'avais une requête qui chargeait toutes les news,
puis une requête par news pour compter le nombre de commentaires.
Je cherche à faire tout ça en une seule requête :
SELECT
a.id_news,
a.titre,
a.date_news,
a.texte,
a.texte2,
a.auteur,
a.validation,
a.id_news,
count(b.id_comment)
FROM news a
LEFT JOIN commentaires b
ON a.id_news = b.id_news
GROUP BY a.id_news
WHERE a.validation = 1
ORDER BY a.date_news DESC
LIMIT 0 , 5
Mais MySQL me renvoi cette erreur :
Erreur de syntaxe près de 'WHERE a.validation = 1
ORDER BY a.date_news DESC
LIMIT 0 , 5' à la ligne 15
Je pense que le problème vient du GROUP BY (dont je ne saisie pas bien l'utilité),
si je le retire MySQL me dit ça :
Mélanger les colonnes GROUP (MIN(),MAX(),COUNT()...) avec des colonnes normales est interdit s'il n'y a pas de clause GROUP BY
Voilà vous savez tout ^^
J'espère que vous pourrez m'aider :)
Bye et merci d'avance.