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

RAND() เรียกหลายครั้งใน Query เดียว ให้ค่าต่างกัน

การเรียก RAND() หลายครั้ง = ค่าต่างกัน

แต่ละครั้งที่เรียก RAND() (โดยไม่มี Seed) จะได้ค่าสุ่มใหม่

ตัวอย่าง

mysql> SELECT RAND(), RAND(), RAND();
+--------------------+-------------------+--------------------+
| RAND()             | RAND()            | RAND()             |
+--------------------+-------------------+--------------------+
| 0.9402844448949066 | 0.911499003797303 | 0.7366417150354402 |
+--------------------+-------------------+--------------------+

การอธิบาย

  • 3 ครั้ง 3 ค่าต่างกันทั้งหมด
  • ช่วงค่า: 0.0 ≤ RAND() < 1.0
  • Distribution: Uniform

กรณี Seed เหมือนกัน

SELECT RAND(42), RAND(42), RAND(42);  -- ค่าเดียวกันทั้ง 3

ประยุกต์

  • สร้างหลายคอลัมน์สุ่มในครั้งเดียว
  • Test data generation
  • Monte Carlo simulation