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

เมื่อใช้ MySQL ฉันสามารถจัดเรียงคอลัมน์แต่ให้ 0 อยู่ท้ายสุดได้ไหม


คุณสามารถจัดเรียงคอลัมน์โดยที่ 0 จะอยู่ท้ายสุดด้วยความช่วยเหลือของ ORDER BY ไวยากรณ์มีดังนี้ −

เลือก *จาก yourTableName เพื่อเรียงลำดับโดย yourFieldName =0,yourFieldName;

เพื่อให้เข้าใจแนวคิดข้างต้น ให้เราสร้างตาราง แบบสอบถามเพื่อสร้างตารางมีดังนี้ −

mysql> สร้างตาราง SortColumnZeroAtLastDemo −> ( −> RankNumber int −> ); ตกลง ตกลง 0 แถวได้รับผลกระทบ (1.40 วินาที)

ตอนนี้คุณสามารถแทรกระเบียนในตารางโดยใช้แบบสอบถามต่อไปนี้ -

mysql> แทรกลงในค่า SortColumnZeroAtLastDemo (100) แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.20 วินาที) mysql> แทรกลงในค่า SortColumnZeroAtLastDemo (0) แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.17 วินาที) mysql> แทรกลงในค่า SortColumnZeroAtLastDemo ( 0); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.11 วินาที) mysql> แทรกลงในค่า SortColumnZeroAtLastDemo (50); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.13 วินาที) mysql> แทรกลงในค่า SortColumnZeroAtLastDemo (10); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ ( 0.15 วินาที) mysql> แทรกลงในค่า SortColumnZeroAtLastDemo (0); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.17 วินาที) mysql> แทรกลงในค่า SortColumnZeroAtLastDemo (40); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.12 วินาที)

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

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

ต่อไปนี้เป็นผลลัพธ์ -

<ก่อนหน้า>+-----------+| อันดับ |+-----------+| 100 || 0 || 0 || 50 || 10 || 0 || 40 |+------------+7 แถวในชุด (0.00 วินาที)

นี่คือการสืบค้นเพื่อจัดเรียงคอลัมน์และตั้งค่า 0 ให้เป็นสุดท้ายโดยใช้ไวยากรณ์ที่เรากล่าวถึงในตอนต้น -

mysql> เลือก *จาก SortColumnZeroAtLastDemo ตามลำดับ RankNumber =0,RankNumber;

ต่อไปนี้เป็นผลลัพธ์ -

<ก่อนหน้า>+-----------+| อันดับ |+-----------+| 10 || 40 || 50 || 100 || 0 || 0 || 0 |+------------+7 แถวในชุด (0.00 วินาที)