Mysql
 sql >> Datenbank >  >> RDS >> Mysql

MySQL gibt nur eine Zeile zurück, wenn Count verwendet wird

Ja, die Anzahl ist ein Aggregatoperator, der nur eine Zeile zurückgibt (ohne eine Gruppieren-nach-Klausel)

Vielleicht zwei getrennte Anfragen stellen? Es macht keinen Sinn, dass die Zeile die Daten und die Gesamtzahl der Zeilen zurückgibt, da diese Daten nicht zusammengehören.

Wenn Sie es wirklich wirklich wollen, können Sie so etwas tun:

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

oder dies:

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

Mit Abweichungen beim verschachtelten Ausdruck, abhängig von Ihrem SQL-Dialekt.