MySQL การใช้งานฟังก์ชัน RAND()

ฟังก์ชัน RAND() ใน MySQL ใช้สำหรับสร้างค่าตัวเลขสุ่มแบบทศนิยม (float) ระหว่าง 0.0 ถึง น้อยกว่า 1.0 ผลลัพธ์เป็นค่าทศนิยม เช่น 0.73215, 0.02486, 0.99991 สามารถใส่ค่า seed (ค่าตั้งต้น) เพื่อควบคุมผลลัพธ์ให้เหมือนเดิมทุกครั้งที่รัน

ประโยชน์ของฟังก์ชัน RAND()

  • ใช้สุ่ม
    • ข้อมูลจากตาราง
    • เลือกรายการแบบสุ่ม
    • ลำดับข้อมูลแบบสุ่ม (ORDER BY RAND())
    • สร้างค่าในการทดสอบ
  • ใช้ในระบบ
    • เกม, แบบสอบถาม, CAPTCHA
    • ระบบสุ่มรางวัล
    • การทดลองหรือการทดสอบระบบด้วยข้อมูลจำลอง

รูปแบบการใช้งาน

RAND()

หรือ

RAND(seed)
  • seed คือเลขจำนวนเต็มใด ๆ ที่ใช้เป็น “ค่าตั้งต้น” ของการสุ่ม
  • ถ้าใส่ค่า seed จะได้เลขสุ่มเดิมทุกครั้ง (เหมาะกับการทดสอบ)

ตัวอย่างการใช้งาน

SQL
SELECT RAND();         
-- ผลลัพธ์: ตัวเลขสุ่ม เช่น 0.8243

SELECT RAND(1);        
-- ผลลัพธ์: ค่าคงที่ เช่น 0.1552 (รันกี่ครั้งก็ได้เลขเดิม)

SELECT RAND(2025);     
-- ผลลัพธ์: ค่าคงที่ตาม seed ที่กำหนด

สุ่มเรียงลำดับแถวในตาราง

SQL
SELECT * 
FROM customer
ORDER BY RAND()
LIMIT 5;
  • สุ่มเลือกลูกค้า 5 คน จากตาราง customer

สร้างตัวเลขสุ่มตั้งแต่ 1 ถึง 100

SQL
SELECT FLOOR(1 + (RAND() * 100)) AS random_number;
-- ผลลัพธ์: ตัวเลขสุ่มระหว่าง 1 ถึง 100
  • RAND() คืนค่า 0.0–0.999… คูณขอบเขตที่ต้องการ แล้ว FLOOR() ปัดลงเป็นจำนวนเต็ม
แชร์เรื่องนี้