หากต้องการสุ่มเลือกแถว ให้ใช้ ORDER BY RAND() กับ LIMIT ใช้ DISTINCT สำหรับแถวที่แตกต่างกัน เรามาดูตัวอย่างและสร้างตารางกันก่อน −
mysql> สร้างตาราง DemoTable (รหัส int ไม่ใช่ NULL AUTO_INCREMENT คีย์หลัก ชื่อ varchar(40)); ตกลง ตกลง 0 แถวได้รับผลกระทบ (0.54 วินาที)
แทรกระเบียนบางส่วนในตารางโดยใช้คำสั่ง insert -
mysql> แทรกลงในค่า DemoTable(Name) ('John Doe'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.13 วินาที) mysql> แทรกลงในค่า DemoTable (ชื่อ) ('Chris Brown'); แบบสอบถามตกลง 1 แถว ได้รับผลกระทบ (0.11 วินาที) mysql> แทรกลงในค่า DemoTable (ชื่อ) ('Adam Smith'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.09 วินาที) mysql> แทรกลงในค่า DemoTable (ชื่อ) ('John Doe'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.24 วินาที) mysql> แทรกลงในค่า DemoTable (ชื่อ) ('John Doe'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.23 วินาที) mysql> แทรกลงในค่า DemoTable (ชื่อ) ('Chris Brown'); แบบสอบถาม ตกลง 1 แถวได้รับผลกระทบ (0.53 วินาที)mysql> แทรกลงในค่า DemoTable (ชื่อ) ('Adam Smith'); แบบสอบถามตกลง ได้รับผลกระทบ 1 แถว (0.12 วินาที)
แสดงระเบียนทั้งหมดจากตารางโดยใช้คำสั่ง select -
mysql> เลือก *จาก DemoTable;
สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -
<ก่อนหน้า>+----+-------------+| รหัส | ชื่อ |+----+-------------+| 1 | จอห์น โด || 2 | คริส บราวน์ || 3 | อดัม สมิธ || 4 | จอห์น โด || 5 | จอห์น โด || 6 | คริส บราวน์ || 7 | Adam Smith |+----+-------------+7 แถวในชุด (0.00 วินาที)ต่อไปนี้เป็นแบบสอบถามเพื่อสุ่มเลือกแถวที่แตกต่างกันสองแถวในตาราง -
mysql> เลือกชื่อที่แตกต่างจากคำสั่ง DemoTable โดย rand() จำกัด 3;
สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -
<ก่อนหน้า>+-------------+| ชื่อ |+-------------+| คริส บราวน์ || จอห์น โด || Adam Smith |+-------------+3 แถวในชุด (0.00 วินาที)