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

เรียงลำดับหลายคอลัมน์ไม่ทำงานตามที่คาดไว้ใน MySQL?


ต่อไปนี้คือรูปแบบการจัดลำดับตามคอลัมน์ต่างๆ -

เลือก *จาก yourTableNameorder โดย yourColumnName1 DESC,yourColumnName2,yourColumnName3;

ให้เราสร้างตาราง -

mysql> สร้างตาราง demo29−> (−> value1 int,−> value2 int−> );Query OK, 0 แถวได้รับผลกระทบ (1.67 วินาที)

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

mysql> แทรกลงในค่า demo29 (10,500) แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.15 วินาที) mysql> แทรกลงในค่า demo29 (14,400) แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.14 วินาที) mysql> แทรกลงในค่า demo29 ( 9,500); ตกลง แบบสอบถาม 1 แถวได้รับผลกระทบ (0.12 วินาที) mysql> แทรกลงในค่า demo29 (13,400); แบบสอบถามตกลง ได้รับผลกระทบ 1 แถว (0.11 วินาที) mysql> แทรกลงในค่า demo29 (45,500); แบบสอบถามตกลง ได้รับผลกระทบ 1 แถว ( 0.14 วินาที) mysql> แทรกลงในค่า demo29 (11,400) แบบสอบถามตกลง ได้รับผลกระทบ 1 แถว (0.10 วินาที)

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

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

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

<ก่อนหน้า>+---------+-------+| value1 | value2 |+---------+-------+| 10 | 500 || 14 | 400 || 9 | 500 || 13 | 400 || 45 | 500 || 11 | 400 |+--------+ --------+6 แถวในชุด (0.00 วินาที)

ต่อไปนี้เป็นแบบสอบถามที่จะเรียงลำดับโดยหลายคอลัมน์ -

mysql> เลือก *จาก demo29−> เรียงลำดับตามค่า 2 desc,value1;

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

<ก่อนหน้า>+---------+-------+| value1 | value2 |+---------+-------+| 9 | 500 || 10 | 500 || 45 | 500 || 11 | 400 || 13 | 400 || 14 | 400 |+--------+ --------+6 แถวในชุด (0.00 วินาที)