Page 1 sur 1

Erreur de requete, GROUP BY required

Posté : 04 mai 2006, 12:21
par VaN
"SELECT *, COUNT(comment_id)
		FROM news, categories, comments
		WHERE news.news_cat = categories.cat_id
		AND comment_type = 'news'
		AND comment_parent_id = news_id
		ORDER BY news_date DESC
		LIMIT 0,3";
J'ai une table news, une table categories une table comments.
Je souhaite extraire les 3 dernieres news en date, avec sur chacune, le nombre de commentaires qui lui est lié.
j'ai reçoit le msg d'erreur suivant :
#1140 - Mélanger les colonnes GROUP (MIN(),MAX(),COUNT()...) avec des colonnes normales est interdit s'il n'y a pas de clause GROUP BY
Comment tourner ma requete ?

Posté : 04 mai 2006, 12:27
par Truc
Salut,

En ajoutant la clause GROUP BY :wink:

Il faut la préciser puisque tu demande des données plus un total (count).
GROUP BY news_id
ORDER BY news_date DESC

Posté : 04 mai 2006, 12:30
par VaN
Effectivement, ça marche, mais il ne me sort plus qu'une seule ligne maintenant, au lieu des 3 demandées, et que j'obtenais, sans la clause GROUP BY.

Surement parce qu'il n'y a pas de commentaires pour les 2 autres news : /
Je peux arriver à sortir 3 news, meme si certaines n'ont aucun commentaire rataché ?