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

MySQL:Невалидно използване на групова функция

Трябва да използвате HAVING , а не WHERE .

Разликата е:WHERE клауза филтри, кои редове MySQL избира. След това MySQL групира редовете заедно и обобщава числата за вашия COUNT функция.

HAVING е като WHERE , само това се случва след COUNT стойността е изчислена, така че ще работи, както очаквате. Пренапишете подзаявката си като:

(                  -- where that pid is in the set:
SELECT c2.pid                  -- of pids
FROM Catalog AS c2             -- from catalog
WHERE c2.pid = c1.pid
HAVING COUNT(c2.sid) >= 2)


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. JSON_ARRAY_APPEND() – Добавяне на стойности към JSON масив в MySQL

  2. MySQLi count(*) винаги връща 1

  3. Може ли да се използва число за именуване на колона на MySQL таблица?

  4. Как да намеря най-голямата таблица в MySQL база данни?

  5. MYSQLi грешка:Потребителят вече има повече от 'max_user_connections' активни връзки