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)