Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MySQL

แบบสอบถาม MySQL เพื่อส่งคืนการนับเฉพาะค่า NO จากค่าคอลัมน์ที่สอดคล้องกัน


ให้เราสร้างตารางก่อน -

mysql> สร้างตาราง DemoTable1829 ( ชื่อ varchar(20), isTopper ENUM('YES','NO') );ตกลง ตกลง 0 แถวได้รับผลกระทบ (0.00 วินาที)

แทรกระเบียนบางส่วนในตารางโดยใช้คำสั่ง insert -

mysql> แทรกลงในค่า DemoTable1829 ('Chris', 'yes'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.00 วินาที) mysql> แทรกลงในค่า DemoTable1829 ('David', 'yes'); แบบสอบถามตกลง 1 แถว ได้รับผลกระทบ (0.00 วินาที) mysql> แทรกลงในค่า DemoTable1829 ('Mike', 'no'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.00 วินาที) mysql> แทรกลงในค่า DemoTable1829 ('David', 'yes'); แบบสอบถามตกลง ได้รับผลกระทบ 1 แถว (0.00 วินาที)

แสดงระเบียนทั้งหมดจากตารางโดยใช้คำสั่ง select -

mysql> เลือก * จาก DemoTable1829;

สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -

<ก่อนหน้า>+-------+----------+| ชื่อ | isTopper |+-------+----------+| คริส | ใช่ || เดวิด | ใช่ || ไมค์ | ไม่ || เดวิด | ใช่ |+-------+----------+4 แถวในชุด (0.00 วินาที)

นี่คือแบบสอบถามเพื่อส่งคืนการนับเฉพาะค่า NO -

mysql> เลือก Name,sum(isTopper='no') จากกลุ่ม DemoTable1829 ตามชื่อ

สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -

<ก่อนหน้า>+-------+--------------------+| ชื่อ | sum(isTopper='no') |+-------+--------------------+| คริส | 0 || เดวิด | 0 || ไมค์ | 1 |+-------+--------------------+3 แถวในชุด (0.00 วินาที)