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

แบบสอบถาม MySQL เพื่อส่งคืน 5 บันทึกสุ่มจาก 20 บันทึกล่าสุด?


สำหรับสิ่งนี้ คุณต้องใช้ ORDER BY เพื่อสั่งบันทึก ด้วยการใช้ RAND() เพื่อรับเร็กคอร์ดแบบสุ่มและ LIMIT 5 เนื่องจากเราต้องการแสดงเพียง 5 เร็กคอร์ดแบบสุ่ม

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

mysql> สร้างตาราง DemoTable773 (StudentId int) แบบสอบถามตกลง 0 แถวได้รับผลกระทบ (0.59 วินาที)

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

mysql> แทรกลงในค่า DemoTable773 (100) แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.15 วินาที) mysql> แทรกลงในค่า DemoTable773 (200) แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.87 วินาที) mysql> แทรกลงในค่า DemoTable773 ( 300); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (1.59 วินาที) mysql> แทรกลงในค่า DemoTable773 (400); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.12 วินาที) mysql> แทรกลงในค่า DemoTable773 (500); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ ( 0.29 วินาที) mysql> แทรกลงในค่า DemoTable773 (1); แบบสอบถามตกลง, 1 แถวได้รับผลกระทบ (0.14 วินาที) mysql> แทรกลงในค่า DemoTable773 (2); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.17 วินาที) mysql> แทรกลงในค่า DemoTable773 ( 3); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.07 วินาที) mysql> แทรกลงในค่า DemoTable773 (4) แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.73 วินาที) mysql> แทรกลงในค่า DemoTable773 (5) แบบสอบถามตกลง 1 แถวได้รับผลกระทบ ( 0.77 วินาที) mysql> แทรกลงในค่า DemoTable773(6) แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.20 วินาที) mysql> แทรกลงในค่า DemoTable773 (7) แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.24 วินาที) mysql> แทรกลงในค่า DemoTable773 ( 8);แบบสอบถามตกลง 1 แถว aff ected (0.50 วินาที)mysql> แทรกลงในค่า DemoTable773 (9); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.20 วินาที) mysql> แทรกลงในค่า DemoTable773 (10) แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.23 วินาที) mysql> แทรกลงใน DemoTable773 ค่า (90); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.26 วินาที) mysql> แทรกลงในค่า DemoTable773 (91); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.11 วินาที) mysql> แทรกลงในค่า DemoTable773 (92); แบบสอบถามตกลง 1 แถว ได้รับผลกระทบ (0.19 วินาที) mysql> แทรกลงในค่า DemoTable773 (93) แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.33 วินาที) mysql> แทรกลงในค่า DemoTable773 (94) แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.38 วินาที) mysql> แทรกลงใน DemoTable773 ค่า (95); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.34 วินาที) mysql> แทรกลงในค่า DemoTable773 (96); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.24 วินาที) mysql> แทรกลงในค่า DemoTable773 (97); แบบสอบถามตกลง 1 แถว ได้รับผลกระทบ (0.27 วินาที)

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

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

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

<ก่อนหน้า>+-----------+| รหัสนักศึกษา |+-----------+| 100 || 200 || 300 || 400 || 500 || 1 || 2 || 3 || 4 || 5 || 6 || 7 || 8 || 9 || 10 || 90 || 91 || 92 || 93 || 94 || 95 || 96 || 97 |+-----------+23 แถวในชุด (0.00 วินาที)

ต่อไปนี้เป็นแบบสอบถามเพื่อส่งคืนระเบียนสุ่ม 5 รายการจาก

20 รายการสุดท้าย -

mysql> เลือก *จาก ( เลือก * จาก DemoTable773 เรียงลำดับตาม StudentId desc จำกัด 20) AS RANDOM_OUTPUTสั่งซื้อโดย rand()limit 5;

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

<ก่อนหน้า>+-----------+| รหัสนักศึกษา |+-----------+| 95 || 4 || 10 || 7 || 300 |+-----------+5 แถวในชุด (0.51 วินาที)