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

กำลังนับจำนวนคอลัมน์ที่ไม่ใช่ค่าว่างหรือไม่ใช่ศูนย์ในตาราง MySQL หรือไม่


ใช้วิธี if() สำหรับสิ่งนี้ ให้เราสร้างตารางก่อน -

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

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

mysql> แทรกลงในค่า DemoTable(Number1,Number2) (10,20);Query OK, 1 แถวได้รับผลกระทบ (0.41 วินาที)mysql> แทรกลงในค่า DemoTable(Number1,Number2)(0,32);Query OK, 1 แถวได้รับผลกระทบ (0.38 วินาที) mysql> แทรกลงในค่า DemoTable (Number1,Number2) (40,0); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.21 วินาที) mysql> แทรกลงในค่า DemoTable (Number1,Number2) (40,50);แบบสอบถามตกลง ได้รับผลกระทบ 1 แถว (0.17 วินาที)

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

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

ผลลัพธ์

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

<ก่อนหน้า>+----+---------+---------+| รหัส | Number1 | ที่ 2 |+----+---------+---------+| 1 | 10 | 20 || 2 | 0 | 32 || 3 | 40 | 0 || 4 | 40 | 50 |+----+---------+---------+4 แถวในชุด (0.00 วินาที)

ต่อไปนี้เป็นแบบสอบถามเพื่อนับจำนวนคอลัมน์ที่ไม่ใช่ค่าว่างหรือไม่ใช่ศูนย์ในตาราง -

mysql> เลือก *,-> if(Number1 <> 0,1,0)+if(Number2 <> 0,1,0) AS TotalCount-> จาก DemoTable;

ผลลัพธ์

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

<ก่อนหน้า>+----+---------+---------+-----------+| รหัส | Number1 | Number2 | TotalCount |+----+---------+---------+------------+| 1 | 10 | 20 | 2 || 2 | 0 | 32 | 1 || 3 | 40 | 0 | 1 || 4 | 40 | 50 | 2 |+----+---------+---------+------------+4 แถวในชุด (0.00 วินาที)