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

การนับการมีอยู่ของค่า NOT NULL ใน MySQL


หากต้องการนับการมีอยู่ของค่า NOT NULL ให้ใช้ฟังก์ชันรวม COUNT(yourColumnName) ให้เราสร้างตารางก่อน -

mysql> สร้างตาราง DemoTable (รหัส int ไม่ใช่ NULL AUTO_INCREMENT PRIMARY KEY, NumberOfQuestion int, NumberOfSolution int ); Query OK, 0 แถวได้รับผลกระทบ (0.20 วินาที)

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

mysql> แทรกลงในค่า DemoTable(NumberOfQuestion,NumberOfSolution) (20,10); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.06 วินาที) mysql> แทรกลงในค่า DemoTable (NumberOfQuestion,NumberOfSolution) (20,2); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.04 วินาที) mysql> แทรกลงในค่า DemoTable (NumberOfQuestion,NumberOfSolution) (20, NULL) แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.03 วินาที) mysql> แทรกลงในค่า DemoTable (NumberOfQuestion, NumberOfSolution) (20, NULL);แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.05 วินาที)mysql> แทรกลงในค่า DemoTable (NumberOfQuestion,NumberOfSolution) (30,19); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.04 วินาที) mysql> แทรกลงในค่า DemoTable (NumberOfQuestion, NumberOfSolution) ( 30,1);แบบสอบถามตกลง ได้รับผลกระทบ 1 แถว (0.04 วินาที)

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

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

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

<ก่อนหน้า>+----+-----------------+-----------------+| รหัส | Number OfQuestion | NumberOfSolution |+----+-----------------+-----------------+| 1 | 20 | 10 || 2 | 20 | 2 || 3 | 20 | NULL || 4 | 20 | NULL || 5 | 30 | 19 || 6 | 30 | 1 |+----+--------------------------+-----------------+6 แถวในชุด (0.00 วินาที)

ต่อไปนี้เป็นแบบสอบถามเพื่อนับการมีอยู่ของค่า ค่าเดียวกันไม่ควรเป็น NULL เช่น ค่า NULL จะไม่ถูกนับ -

mysql> เลือก NumberOfQuestion, COUNT (NumberOfSolution) เป็น NumberOfRows จาก DemoTable GROUP BY NumberOfQuestion

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

<ก่อนหน้า>+-------------+--------------+| Number OfQuestion | NumberOfRows |+-----------+-------------+| 20 | 2 || 30 | 2 |+-----------+--------------+2 แถวในชุด (0.00 วินาที)