Devdit
 

วิธีใช้ COUNT และ GROUP BY เพื่อนับค่าที่มากกว่า 1

1K

ฟังก์ชัน 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 เพื่อกำหนดเงื่อนไขเพิ่มเติมได้

แก้ไข 1 ปีที่แล้ว
ชอบ
ลิ้งก์
แชร์
Devdit มีช่อง YouTube แล้ว
เราสร้างวิดีโอเกี่ยวกับเทคโนโลยี ทำตามง่ายๆ