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

รับค่าสุ่มระหว่างสองค่าใน MySQL หรือไม่


ในการรับค่าสุ่มระหว่างสองค่า ให้ใช้ MySQL rand() วิธีการกับ floor() ไวยากรณ์มีดังนี้

select FLOOR( RAND() * (maximumValue-minimumValue) + maximumValue) เป็น anyVariableName;

ให้เราตรวจสอบด้วยค่าสูงสุดและต่ำสุด ค่าสูงสุดที่เรากำลังพิจารณาคือ 200 และค่าต่ำสุดคือ 100 ตัวเลขสุ่มจะอยู่ระหว่าง 100 ถึง 200 รวมถึง 100 ถึง 200 ตัวมันเอง

แบบสอบถามมีดังนี้

mysql> เลือก FLOOR( RAND() * (200-100) + 100) เป็น RandomValue;

ต่อไปนี้เป็นผลลัพธ์

<ก่อนหน้า>+-------------+| RandomValue |+-------------+| 144 |+-------------+1 แถวในชุด (0.00 วินาที)

ตอนนี้ถ้าเราจะเรียกใช้แบบสอบถามเดิมอีกครั้ง ผลลัพธ์จะแตกต่างออกไป

mysql> เลือก FLOOR( RAND() * (200-100) + 100) เป็น RandomValue;

ต่อไปนี้เป็นผลลัพธ์ที่มีค่าต่างกันเนื่องจากเป็นค่าสุ่มระหว่างช่วงที่เราตั้งค่าไว้ด้านบน

<ก่อนหน้า>+-------------+| RandomValue |+-------------+| 184 |+-------------+1 แถวในชุด (0.00 วินาที)