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

ORDER BY rand() และจัดกลุ่มไว้ใน MySQL หรือไม่


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

mysql> สร้างตาราง DemoTable -> ( -> StudentId int ไม่ใช่ NULL AUTO_INCREMENT PRIMARY KEY, -> StudentMarks int -> );Query OK, 0 แถวได้รับผลกระทบ (0.58 วินาที)

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

mysql> แทรกลงในค่า DemoTable(StudentMarks) (98); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.11 วินาที) mysql> แทรกลงในค่า DemoTable (StudentMarks) (98); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.10 วินาที) mysql> แทรกลงในค่า DemoTable (StudentMarks) (78); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.10 วินาที) mysql> แทรกลงใน DemoTable (StudentMarks) ค่า (78); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.29 วินาที) mysql> แทรกลงใน DemoTable (StudentMarks) ค่า (45); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.10 วินาที) mysql> แทรกลงในค่า DemoTable (StudentMarks) (56); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.09 วินาที)

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

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

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

<ก่อนหน้า>+-----------+--------------+| รหัสนักศึกษา | StudentMarks |+-----------+--------------+| 1 | 98 || 2 | 98 || 3 | 78 || 4 | 78 || 5 | 45 || 6 | 56 |+-----------+---------------------+6 แถวในชุด (0.00 วินาที)

ต่อไปนี้เป็นแบบสอบถามเพื่อสั่งซื้อโดย rand() ทำให้พวกเขาจัดกลุ่ม -

mysql> เลือก *จากลำดับ DemoTable โดย rand(StudentMarks*100*RAND());

สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ ที่นี่ เครื่องหมาย 98 รายการยังคงจัดกลุ่ม -

<ก่อนหน้า>+-----------+--------------+| รหัสนักศึกษา | StudentMarks |+-----------+--------------+| 3 | 78 || 6 | 56 || 5 | 45 || 4 | 78 || 1 | 98 || 2 | 98 |+-----------+-------------+6 แถวในชุด (0.00 วินาที)