sql >> Database teknologi >  >> RDS >> Mysql

MySQL:Ugyldig brug af gruppefunktion

Du skal bruge HAVING , ikke WHERE .

Forskellen er:WHERE klausul filtrerer hvilke rækker MySQL vælger. MySQL grupperer rækkerne og samler tallene for din COUNT funktion.

HAVING er ligesom WHERE , kun det sker efter COUNT værdien er blevet beregnet, så det fungerer, som du forventer. Omskriv din underforespørgsel som:

(                  -- 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. MySQL – Vent i sekunder med SELECT SLEEP()

  2. Oracle Date kolonne rengøring

  3. Sådan finder du minimumsværdier i kolonner

  4. ORACLE SQL:Udfyld manglende datoer