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

เลือกเพียง 5 แถวสุ่มใน 50 รายการล่าสุด ด้วย MySQL?


สำหรับสิ่งนี้ ใช้ ORDER BY RAND() กับแบบสอบถามย่อย ให้เราสร้างตารางก่อน -

mysql> สร้างตาราง DemoTable1853 ( UserId int ไม่ใช่ NULL AUTO_INCREMENT, คีย์หลัก (UserId) ); ตกลง ตกลง 0 แถวได้รับผลกระทบ (0.00 วินาที)

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

mysql> แทรกลงในค่า DemoTable1853 (),(),(),(),(),(),(),(),(),(),(),(),(),() ,(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),( ),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(), (),(),(),(),(),(),(),(),(),(),();แบบสอบถามตกลง ได้รับผลกระทบ 58 แถว (0.00 วินาที) บันทึก:58 รายการซ้ำ:0 คำเตือน :0

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

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

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

<ก่อนหน้า>+---------+| รหัสผู้ใช้ |+---------+| 1 || 2 || 3 || 4 || 5 || 6 || 7 || 8 || 9 || 10 || 11 || 12 || 13 || 14 || 15 || 16 || 17 || 18 || 19 || 20 || 21 || 22 || 23 || 24 || 25 || 26 || 27 || 28 || 29 || 30 || 31 || 32 || 33 || 34 || 35 || 36 || 37 || 38 || 39 || 40 || 41 || 42 || 43 || 44 || 45 || 46 || 47 || 48 || 49 || 50 || 51 || 52 || 53 || 54 || 55 || 56 || 57 || 58 |+-------+58 แถวในชุด (0.00 วินาที)

นี่คือแบบสอบถามเพื่อเลือกเพียง 5 แถวสุ่มใน 50 รายการล่าสุด -

mysql> เลือก tbl.* จาก (เลือก tbl1.* จาก DemoTable1853 tbl1 สั่งซื้อโดย UserId DESC LIMIT 50 ) สั่งซื้อ tbl โดย rand() จำกัด 5;

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

<ก่อนหน้า>+---------+| รหัสผู้ใช้ |+---------+| 19 || 24 || 43 || 36 || 48 |+-------+5 แถวในชุด (0.00 วินาที)