sql >> Database >  >> RDS >> Mysql

Mysql retourneert slechts één rij bij gebruik van Count

Ja, de telling is een aggregatie-operator, waardoor slechts één rij wordt geretourneerd (zonder een group by-clausule)

Misschien twee aparte queries maken? Het heeft geen zin om de rij de gegevens en het totale aantal rijen te laten retourneren, omdat die gegevens niet bij elkaar horen.

Als je het echt heel graag wilt, kun je zoiets als dit doen:

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

of dit:

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

Met variaties op de geneste uitdrukking, afhankelijk van uw SQL-dialect.



  1. Maak verbinding met MySQL met behulp van SSH Tunneling in node-mysql

  2. Selecteer aparte rijen uit twee tabellen, sorteer op datum

  3. Problemen met transactionele replicatie van SQL Server

  4. Kan ik ON DUPLICATE KEY UPDATE gebruiken met een INSERT-query met behulp van de SET-optie?