Mysql
 sql >> Base de données >  >> RDS >> Mysql

Mysql ne renvoie qu'une seule ligne lors de l'utilisation de Count

Ouais, le compte est un opérateur d'agrégation, qui ne renvoie qu'une seule ligne (sans clause group by)

Peut-être faire deux requêtes distinctes ? Cela n'a aucun sens que la ligne renvoie les données et le nombre total de lignes, car ces données ne vont pas ensemble.

Si vous le voulez vraiment, vous pouvez faire quelque chose comme ceci :

SELECT *, (select count(*) FROM notis WHERE cid=20) AS count FROM notis WHERE cid=20 ORDER BY nid DESC LIMIT 0,3

ou ceci :

SELECT N.*, C.total from notis N join (select count(*) total FROM notis WHERE cid=20) C WHERE cid=20) AS count FROM notis WHERE cid=20 ORDER BY nid DESC LIMIT 0,3

Avec des variances sur l'expression imbriquée en fonction de votre dialecte SQL.