Mysql
 sql >> Database >  >> RDS >> Mysql

Mysql restituisce solo una riga quando si utilizza Count

Sì, il conteggio è un operatore aggregato, che restituisce solo una riga (senza una clausola group by)

Forse fare due query separate? Non ha senso che la riga restituisca i dati e il numero totale di righe, perché quei dati non appartengono insieme.

Se lo vuoi davvero davvero, puoi fare qualcosa del genere:

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

o questo:

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

Con varianze sull'espressione nidificata a seconda del tuo dialetto SQL.