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

แบบสอบถาม MySQL เพื่อเลือกค่าสูงสุดที่ n ในคอลัมน์โดยข้ามค่า


ในการรับค่าสูงสุดที่ n ในคอลัมน์ คุณสามารถใช้ LIMIT OFFSET ที่นี่ใช้ OFFSET เพื่อข้ามค่า ให้เราสร้างตารางก่อน -

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

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

mysql> แทรกลงในค่า DemoTable (100) แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.10 วินาที) mysql> แทรกลงในค่า DemoTable (140) แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.14 วินาที) mysql> แทรกลงในค่า DemoTable ( 90); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.08 วินาที) mysql> แทรกลงในค่า DemoTable (80); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.09 วินาที) mysql> แทรกลงในค่า DemoTable (89); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ ( 0.10 วินาที) mysql> แทรกลงในค่า DemoTable (98); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.09 วินาที) mysql> แทรกลงในค่า DemoTable (58); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.10 วินาที)

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

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

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

<ก่อนหน้า>+-------+| ความคุ้มค่า |+-------+| 100 || 140 || 90 || 80 || 89 || 98 || 58 |+-------+7 แถวในชุด (0.00 วินาที)

ต่อไปนี้เป็นแบบสอบถามเพื่อรับค่าสูงสุดที่ n ในคอลัมน์ ในที่นี้ เราจะข้าม 3 ค่าโดยใช้ OFFSET 3 . ค่าเดียวกันนี้ทำให้เรามีค่าสูงสุดเป็นลำดับที่ 4 หลังจากใช้ ORDER BY −

mysql> เลือกค่าจากคำสั่ง DemoTable โดยจำกัดค่า 1 ออฟเซ็ต 3;

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

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