สมมติว่าต้องการหาจำนวนพนักงานในแต่ละแผนก โดยเรียงลำดับจากแผนกที่มีพนักงานมากที่สุดไปน้อยที่สุด ควรใช้คำสั่งใด
กSELECT แผนก, COUNT(*) AS จำนวน FROM พนักงาน ORDER BY จำนวน DESC
ขSELECT แผนก, COUNT(*) AS จำนวน FROM พนักงาน GROUP BY แผนก ORDER BY จำนวน DESC
คSELECT แผนก, COUNT(*) AS จำนวน FROM พนักงาน HAVING COUNT(*) > 0 ORDER BY จำนวน DESC
งSELECT แผนก, SUM(*) AS จำนวน FROM พนักงาน GROUP BY แผนก ORDER BY จำนวน DESC
เฉลยอธิบาย
ต้องใช้ GROUP BY เพื่อจัดกลุ่มข้อมูลตามแผนก และ COUNT(*) เพื่อนับจำนวนพนักงานในแต่ละกลุ่ม จากนั้น ORDER BY จำนวน DESC เพื่อเรียงจากมากไปน้อย ตัวเลือก B ขาด GROUP BY ตัวเลือก C ใช้ HAVING โดยไม่มีการจัดกลุ่มตามแผนก และ D ใช้ SUM(*) ซึ่งไม่ถูกต้อง