Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

MySQL:Penggunaan fungsi grup tidak valid

Anda perlu menggunakan HAVING , bukan WHERE .

Perbedaannya adalah:WHERE klausa filter baris mana yang dipilih MySQL. Lalu MySQL mengelompokkan baris dan menggabungkan angka untuk COUNT . Anda fungsi.

HAVING seperti WHERE , hanya terjadi setelah COUNT nilai telah dihitung, jadi itu akan berfungsi seperti yang Anda harapkan. Tulis ulang subkueri Anda sebagai:

(                  -- 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. Ubah skema MySQL ke Github Wiki?

  2. MySQL SELECT saja bukan nilai nol

  3. MySQL secara otomatis melemparkan/mengonversi string menjadi angka?

  4. Bagaimana saya bisa menggunakan objek PDO dengan benar untuk kueri SELECT berparameter?

  5. Ketidakcocokan MySQL PHP