ต้องการแสดงเฉพาะแผนกที่มียอดรายการสถานะ paid รวมเกิน 100000 จากตาราง payments(dept_id, status, amount) โครงสร้างคำสั่งใดถูกต้อง
กWHERE status = 'paid' AND SUM(amount) > 100000 GROUP BY dept_id
ขWHERE status = 'paid' GROUP BY dept_id HAVING SUM(amount) > 100000
คGROUP BY dept_id WHERE status = 'paid' AND amount > 100000
งHAVING status = 'paid' WHERE SUM(amount) > 100000 GROUP BY dept_id
เฉลยอธิบาย
WHERE ต้องกรองแถวให้เหลือสถานะ paid ก่อน จากนั้น GROUP BY รวมแถวตามแผนก และ HAVING กรองกลุ่มด้วย SUM(amount) เกินเกณฑ์ จึงต้องใช้ลำดับและหน้าที่ตามข้อ B การวาง SUM ใน WHERE หรือสลับลำดับ clause ไม่ถูกต้อง