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

จะเรียงลำดับผลลัพธ์ของการสืบค้นแบบสุ่ม &เลือกแถวสุ่มใน MySQL ได้อย่างไร


หากต้องการเรียงลำดับผลลัพธ์ของการสืบค้นแบบสุ่ม ให้ใช้ ORDER BY RAND() ไวยากรณ์มีดังนี้ −

เลือก * จาก DemoTable1559 โดยที่ yourColumnName IN(yourValue1,yourValue2,....N) เรียงลำดับโดย rand() จำกัด yourLimitValue;

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

mysql> สร้างตาราง DemoTable1559 -> ( -> EmployeeId int, -> EmployeeName varchar(20), -> EmployeeAge int -> );Query OK, 0 แถวได้รับผลกระทบ (1.22 วินาที)

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

mysql> แทรกลงในค่า DemoTable1559 (101,'Bob', 28); ตกลง แบบสอบถาม 1 แถวได้รับผลกระทบ (0.17 วินาที) mysql> ลงในค่า DemoTable1559 (102, 'Robert', 26); แบบสอบถามตกลง 1 แถว ได้รับผลกระทบ (0.16 วินาที) mysql> แทรกลงในค่า DemoTable1559 (103, 'Sam', 25); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.17 วินาที) mysql> แทรกลงในค่า DemoTable1559 (104, 'Mike', 29); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.17 วินาที) mysql> แทรกลงในค่า DemoTable1559 (105, 'John', 34); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.18 วินาที) mysql> แทรกลงในค่า DemoTable1559 (106, 'Carol', 31); แบบสอบถาม ตกลง ได้รับผลกระทบ 1 แถว (0.19 วินาที)

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

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

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

<ก่อนหน้า>+------------+--------------+-----------+| รหัสพนักงาน | ชื่อพนักงาน | อายุพนักงาน |+------------+--------------+-----------+| 101 | บ๊อบ | 28 || 102 | โรเบิร์ต | 26 || 103 | แซม | 25 || 104 | ไมค์ | 29 || 105 | จอห์น | 34 || 106 | แครอล | 31 |+------------+--------------+-------------+6 แถวในชุด ( 0.00 วินาที)

ต่อไปนี้เป็นแบบสอบถามเพื่อเรียงลำดับผลลัพธ์ของแบบสอบถามแบบสุ่มและเลือกแถวสุ่ม -

mysql> เลือก * จาก DemoTable1559 โดยที่ EmployeeId IN (101,103,106) เรียงลำดับตาม rand() จำกัด 3;

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

<ก่อนหน้า>+------------+--------------+-----------+| รหัสพนักงาน | ชื่อพนักงาน | อายุพนักงาน |+------------+--------------+-----------+| 101 | บ๊อบ | 28 || 103 | แซม | 25 || 106 | แครอล | 31 |+------------+--------------+-------------+3 แถวในชุด ( 0.00 วินาที)