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

ค้นหาค่าที่ไม่ว่างของแถวก่อนในลำดับจากน้อยไปมาก จากนั้นแสดงค่า NULL


สำหรับสิ่งนี้ ให้ใช้ ORDER BY ISNULL() ให้เราสร้างตารางก่อน -

mysql> สร้างตาราง DemoTable669 ( StudentId int ไม่ใช่ NULL AUTO_INCREMENT คีย์หลัก, StudentScore int); สืบค้นตกลง 0 แถวได้รับผลกระทบ (0.55 วินาที)

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

mysql> แทรกลงในค่า DemoTable669(StudentScore) (45);แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.80 วินาที)mysql> แทรกลงในค่า DemoTable669 (StudentScore) (null) ตกลงแบบสอบถาม 1 แถวได้รับผลกระทบ (0.17 วินาที) mysql> แทรกลงในค่า DemoTable669(StudentScore) (89); ตกลง แบบสอบถาม 1 แถวได้รับผลกระทบ (0.10 วินาที) mysql> แทรกลงในค่า DemoTable669 (StudentScore) (null); แบบสอบถามตกลง ได้รับผลกระทบ 1 แถว (0.15 วินาที)

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

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

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

<ก่อนหน้า>+-----------+--------------+| รหัสนักศึกษา | StudentScore |+-----------+------------+| 1 | 45 || 2 | NULL || 3 | 89 || 4 | NULL |+-----------+--------------+4 แถวในชุด (0.00 วินาที)

ต่อไปนี้เป็นแบบสอบถามเพื่อแสดงค่าที่ไม่ว่างเปล่าในลำดับจากน้อยไปมาก ค่า null จะแสดงในภายหลัง -

mysql> เลือก *จาก DemoTable669ORDER BY ISNULL(StudentScore),StudentScore;

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

<ก่อนหน้า>+-----------+--------------+| รหัสนักศึกษา | StudentScore |+-----------+------------+| 1 | 45 | | 3 | 89 || 2 | NULL || 4 | NULL |+-----------+--------------+4 แถวในชุด (0.00 วินาที)