आपको HAVING
. का उपयोग करना होगा , नहीं WHERE
।
अंतर यह है:WHERE
क्लॉज फ़िल्टर जो MySQL का चयन करता है। फिर MySQL पंक्तियों को एक साथ समूहित करता है और आपके COUNT
. के लिए संख्याओं को एकत्रित करता है समारोह।
HAVING
WHERE
like जैसा है , केवल बाद . होता है 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)