ฟังก์ชัน COUNT ใน SQL ทำหน้าที่นับจำนวนแถวของตาราง บทความนี้สอนใช้คำสั่ง COUNT ร่วมกับ GROUP BY เพื่อให้เกิดการนับ 1 คอลัมน์ แต่ได้ผลลัพธ์มากกว่า 1 คอลัมน์ เช่น ต้องการสินค้า (product) ที่ไม่ได้ถูกลบ และถูกลบแล้ว ของคอลัมน์ deleted สามารถเขียนคำสั่งได้ดังนี้
ตัวอย่าง ข้อมูลตาราง user
id | deleted
-- | --
1 | true
2 | false
3 | true
4 | true
5 | null
จากตัวอย่างข้อมูลของตาราง user ประกอบด้วยคอลัมน์ id (ค่า 1-5) และ deleted (ค่า true, false, null)
ตัวอย่าง การใช้ฟังก์ชัน SQL COUNT มากกว่า 1 ร่วมกับ GROUP BY
SELECT COUNT(*), deleted
FROM user
GROUP BY deleted
COUNT(*) | deleted
-- | --
3 | true
1 | false
1 | null
จากตัวอย่างใช้คำสั่ง COUNT(*) เพื่อนับจำนวนแถวข้อมูลทั้งหมดจากตารางชื่อ user โดยใช้งานร่วมกับคำสั่ง GROUP BY deleted ซึ่งจะทำให้มีการคืนค่าการนับ COUNT มากกว่า 1 คอลัมน์ คือ การ COUNT ของข้อมูล false และการ COUNT ของข้อมูล true และการ COUNT ของข้อมูล null
ตัวอย่าง การใช้ฟังก์ชัน COUNT() มากกว่า 1 ร่วมกับ WHERE
SELECT COUNT(*), deleted
FROM user
WHERE
( deleted IN('true', 'false'))
GROUP BY deleted
COUNT(*) | deleted
-- | --
3 | true
1 | false
จากตัวอย่างมีการเพิ่มคำสั่ง WHERE เงื่อนไขให้นับเฉพาะคอลัมน์ deleted ที่มีค่าเพียง 2 ค่าคือ ‘true’ และ ‘false’ ไม่เอา ‘null’ ด้วยคำสั่ง IN
สรุป ฟังก์ชัน COUNT ของ SQL มีประโยชน์อย่างมาก เพื่อใช้สำหรับนับจำนวนแถวข้อมูลที่ต้องการ และกรณีต้องการนับคอลัมน์ และคืนค่ามากกว่า 1 คอลัมน์สามารถใช้คำสั่ง GROUP BY กับคอลัมน์ที่ต้องการได้ และกรณีมีเงื่อนไขสามารถใช้คำสั่ง WHERE เพื่อกำหนดเงื่อนไขเพิ่มเติมได้