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

แบบสอบถาม MySQL เพื่อเลือกค่าสูงสุดสามค่าและเรียงลำดับตามตัวอักษรตามคอลัมน์ที่เกี่ยวข้องกับชื่อ


สำหรับสิ่งนี้ คุณสามารถใช้คำสั่ง ORDER BY ให้เราสร้างตารางก่อน -

mysql> สร้างตาราง DemoTable (ชื่อ varchar (40), คะแนน int); ตกลง ตกลง 0 แถวได้รับผลกระทบ (1.11 วินาที)

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

mysql> แทรกลงในค่า DemoTable ('Chris',45) แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.26 วินาที) mysql> แทรกลงในค่า DemoTable ('Bob',98); แบบสอบถามตกลง ได้รับผลกระทบ 1 แถว (0.10 วินาที) )mysql> แทรกลงในค่า DemoTable ('David',78); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.17 วินาที) mysql> แทรกลงในค่า DemoTable ('Mike',96); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.14 วินาที) mysql> แทรกลงในค่า DemoTable ('Carol',43); แบบสอบถามตกลง ได้รับผลกระทบ 1 แถว (0.20 วินาที)

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

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

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

<ก่อนหน้า>+-------+-------+| ชื่อ | คะแนน |+-------+-------+| คริส | 45 || บ๊อบ | 98 || เดวิด | 78 || ไมค์ | 96 || แครอล | 43 |+-------+-------+5 แถวในชุด (0.00 วินาที)

ต่อไปนี้เป็นแบบสอบถามเพื่อเลือกค่าสูงสุดสามค่าจากคอลัมน์ "คะแนน" และเรียงลำดับคอลัมน์ "ชื่อ" ที่สอดคล้องกันตามตัวอักษร -

mysql> เลือก *จาก (เลือกชื่อ, คะแนนจากลำดับ DemoTable ตามคะแนน desc, ชื่อ asc จำกัด 3) tblorder ตามชื่อ;

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

<ก่อนหน้า>+-------+-------+| ชื่อ | คะแนน |+-------+-------+| บ๊อบ | 98 || เดวิด | 78 || ไมค์ | 96 |+-------+-------+3 แถวในชุด (0.03 วินาที)