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

ฉันจะสั่งซื้อเป็นกลุ่ม แต่สุ่มกับ MySQL ได้อย่างไร


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

mysql> สร้างตาราง DemoTable (Id int ไม่ใช่ NULL AUTO_INCREMENT PRIMARY KEY, Value char(1) ); ตกลง, 0 แถวได้รับผลกระทบ (0.66 วินาที)

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

mysql> แทรกลงในค่า DemoTable(Value) ('X'); Query OK, 1 แถวได้รับผลกระทบ (0.20 วินาที)mysql> แทรกลงในค่า DemoTable(Value) ('Y'); Query OK, 1 แถวได้รับผลกระทบ ( 0.09 วินาที) mysql> แทรกลงในค่า DemoTable (ค่า) ('X'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.30 วินาที) mysql> แทรกลงในค่า DemoTable (ค่า) ('X'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ ( 0.07 วินาที) mysql> แทรกลงในค่า DemoTable (ค่า) ('Y'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.17 วินาที) mysql> แทรกลงในค่า DemoTable (ค่า) ('Z'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ ( 0.13 วินาที) mysql> แทรกลงในค่า DemoTable (ค่า) ('Z'); ตกลง ตกลง 1 แถวได้รับผลกระทบ (0.11 วินาที)

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

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

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

<ก่อนหน้า>+----+-------+| รหัส | ความคุ้มค่า |+---+-------+| 1 | X || 2 | Y || 3 | X || 4 | X || 5 | Y || 6 | Z || 7 | Z |+----+-------+7 แถวในชุด (0.00 วินาที)

กรณีที่ 1 − ต่อไปนี้เป็นแบบสอบถามเพื่อจัดกลุ่ม แต่สุ่ม -

mysql> เลือก DemoTable.* จากการเข้าร่วม DemoTable ( เลือก Value, rand() เป็น `random_Value` จากกลุ่ม DemoTable ตามค่า ) tbl2 บน DemoTable.Value =tbl2.Valueorder โดย tbl2.`random_Value`;

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

<ก่อนหน้า>+----+-------+| รหัส | ความคุ้มค่า |+---+-------+| 6 | Z || 7 | Z || 1 | X || 3 | X || 4 | X || 2 | Y || 5 | Y |+----+-------+7 แถวในชุด (0.00 วินาที)

กรณีที่ 2 − ให้เราเรียกใช้แบบสอบถามด้านบนอีกครั้งเพื่อแสดงเนื่องจากเรากำลังแสดงบันทึกแบบสุ่ม -

mysql> เลือก DemoTable.* จากการเข้าร่วม DemoTable ( เลือก Value, rand() เป็น `random_Value` จากกลุ่ม DemoTable ตามค่า ) tbl2 บน DemoTable.Value =tbl2.Valueorder โดย tbl2.`random_Value`;

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

<ก่อนหน้า>+----+-------+| รหัส | ความคุ้มค่า |+---+-------+| 2 | Y || 5 | Y || 6 | Z || 7 | Z || 1 | X || 3 | X || 4 | X |+----+-------+7 แถวในชุด (0.00 วินาที)