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

MySQL เรียงลำดับ 0 ก่อนแล้วจึงแสดงบันทึกในลำดับจากมากไปน้อย?


ในการเรียงลำดับจาก 0 ก่อนแล้วค่อยใหญ่ที่สุด คุณสามารถใช้ไวยากรณ์ด้านล่าง −

เลือก *จากลำดับ yourTableName โดย yourColumnName=0 DESC,yourColumnName DESC;

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

mysql> สร้างตาราง DemoTable( Value int); เคียวรีตกลง 0 แถวได้รับผลกระทบ (0.65 วินาที)

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

mysql> แทรกลงในค่า DemoTable (90) แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.23 วินาที) mysql> แทรกลงในค่า DemoTable (0) แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.11 วินาที) mysql> แทรกลงในค่า DemoTable ( 20); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.12 วินาที) mysql> แทรกลงในค่า DemoTable (0) ตกลงแบบสอบถาม 1 แถวได้รับผลกระทบ (0.12 วินาที) mysql> แทรกลงในค่า DemoTable (10) แบบสอบถามตกลง 1 แถวได้รับผลกระทบ ( 0.12 วินาที) mysql> แทรกลงในค่า DemoTable (70) แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.34 วินาที) mysql> แทรกลงในค่า DemoTable (0) แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.15 วินาที)

แสดงบันทึกจากตารางโดยใช้คำสั่ง select -

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

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

<ก่อนหน้า>+-------+| ความคุ้มค่า |+-------+| 90 || 0 || 20 || 0 || 10 || 70 || 0 |+-------+7 แถวในชุด (0.00 วินาที)

นี่คือแบบสอบถามที่จะสั่งซื้อโดย 0 จากนั้นแสดงองค์ประกอบที่ใหญ่ที่สุดในลำดับ DESC -

mysql> เลือก *จากคำสั่ง DemoTable โดย Value=0 DESC,Value DESC;

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

<ก่อนหน้า>+-------+| ความคุ้มค่า |+-------+| 0 || 0 || 0 || 90 || 70 || 20 || 10 |+-------+7 แถวในชุด (0.00 วินาที)