Mysql
 sql >> база данни >  >> RDS >> Mysql

Mysql връща само един ред, когато използва Count

Да, броят е обобщен оператор, който прави върнат само един ред (без група по клауза)

Може би да направите две отделни заявки? Няма смисъл редът да връща данните и общия брой редове, защото тези данни не принадлежат заедно.

Ако наистина го искате, можете да направите нещо подобно:

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

или това:

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

С вариации на вложения израз в зависимост от вашия 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. Получаване на съобщението SQLEXCEPTION в процедурите MySQL 5.5.x

  2. Намерете група записи, които отговарят на множество стойности

  3. MySQL:@променлива срещу променлива. Каква е разликата?

  4. MySQL GROUP BY DateTime +/- 3 секунди

  5. Генерирайте целочислена последователност в MySQL