Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Mysql zwraca tylko jeden wiersz przy użyciu Count

Tak, liczba jest operatorem agregującym, który zwraca tylko jeden wiersz (bez klauzuli group by)

Może zadać dwa oddzielne zapytania? Nie ma sensu, aby wiersz zwracał dane i całkowitą liczbę wierszy, ponieważ te dane nie należą do siebie.

Jeśli naprawdę tego chcesz, możesz zrobić coś takiego:

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

lub to:

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

Z wariancjami zagnieżdżonego wyrażenia w zależności od Twojego dialektu SQL.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL:porównywanie dwóch liczb z różnych tabel

  2. mysql SELECT LIKE musi dopasowywać całe słowa tylko do zmiennej

  3. Relacja jeden-do-wielu w MySQL - jak zbudować model?

  4. Schemat bazy danych dla ACL

  5. Wstawianie MySQL do wielu tabel (relacyjne)