count(*) คืนค่าแถวทั้งหมดไม่ว่าคอลัมน์จะมีค่า null หรือไม่ก็ตาม ในขณะที่การ count(columnName) จะคืนค่าจำนวนแถวยกเว้นแถวที่เป็นค่าว่าง
เรามาสร้างตารางกันก่อน
ต่อไปนี้เป็นแบบสอบถาม
mysql> สร้างตาราง ifNotNullDemo -> ( -> Name varchar(20) -> );Query OK, 0 แถวได้รับผลกระทบ (0.54 วินาที)
ต่อไปนี้เป็นแบบสอบถามเพื่อแทรกบางระเบียนในตารางโดยใช้คำสั่งแทรก:
mysql> แทรกลงในค่า ifNotNullDemo ('Chris'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.15 วินาที) mysql> แทรกลงในค่า ifNotNullDemo (''); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.13 วินาที) mysql> แทรกเข้าไป ค่า ifNotNullDemo ('Robert'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.24 วินาที) mysql> แทรกลงในค่า ifNotNullDemo (null); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.30 วินาที) mysql> แทรกลงในค่า ifNotNullDemo (0); แบบสอบถามตกลง , 1 แถวได้รับผลกระทบ (0.16 วินาที)
ต่อไปนี้เป็นแบบสอบถามเพื่อแสดงระเบียนทั้งหมดจากตารางโดยใช้คำสั่ง select:
mysql> เลือก *จาก ifNotNullDemo;
สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้
<ก่อนหน้า>+---------+| ชื่อ |+-------+| คริส || || โรเบิร์ต || NULL || 0 |+-------+5 แถวในชุด (0.00 วินาที)กรณีที่ 1: ต่อไปนี้คือตัวอย่างการนับ (*) ที่มีค่าว่างในการนับด้วย:
mysql> เลือกจำนวน (*) จาก ifNotNullDemo;
สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้
<ก่อนหน้า>+----------+| นับ(*) |+----------+| 5 |+----------+1 แถวในชุด (0.02 วินาที)กรณีที่ 2: ต่อไปนี้เป็นแบบสอบถามสำหรับ count(columnName)
mysql> เลือกจำนวน (ชื่อ) จาก ifNotNullDemo;
สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้
<ก่อนหน้า>+-------------+| นับ(ชื่อ) |+-------------+| 4 |+-------------+1 แถวในชุด (0.00 วินาที)