WHERE
खंड पूर्व रिकॉर्ड को प्रतिबंधित करता है समूहीकरण के लिए; जबकि HAVING
क्लॉज परिणामों को बाद प्रतिबंधित करता है समूहीकरण:
SELECT course.id, course.name, GROUP_CONCAT(Flag.id) flags
FROM course
JOIN course_flags ON course_flags.course_id = course.id
JOIN flag ON flag.id = course_flags.flag_id
GROUP BY Course.id
HAVING SUM(flag.name = 'promocja')
इसे sqlfiddle पर देखें ।