我想知道是否有一種方法可以選擇100到500之間隨機生成的數字以及選擇查詢。使用MYSQL創建一個隨機數
如:SELECT name, address, random_number FROM users
我沒有這個號碼存儲在數據庫,並只用它來顯示的目的。
我試了這樣的事情,但它不能去工作..
SELECT name, address, FLOOR(RAND() * 500) AS random_number FROM users
希望有人幫助我。 謝謝
我想知道是否有一種方法可以選擇100到500之間隨機生成的數字以及選擇查詢。使用MYSQL創建一個隨機數
如:SELECT name, address, random_number FROM users
我沒有這個號碼存儲在數據庫,並只用它來顯示的目的。
我試了這樣的事情,但它不能去工作..
SELECT name, address, FLOOR(RAND() * 500) AS random_number FROM users
希望有人幫助我。 謝謝
這應該給你想要的東西:
FLOOR(RAND() * 401) + 100
一般地,FLOOR(RAND() * (<max> - <min> + 1)) + <min>
產生了一些<min
之間>和<max>
包容性。
更新
該聲明全文應該工作:
SELECT name, address, FLOOR(RAND() * 401) + 100 AS `random_number`
FROM users
你可以創建一個使用FLOOR(RAND() * n) as randnum
一個隨機數(n爲整數),但是如果你不需要相同的隨機數重複,那麼你將不得不稍微存儲在臨時表中。所以,你可以檢查它反對與where randnum not in (select * from temptable)
...
作爲RAND
產生數0 < = V < 1.0(見documentation),你需要使用ROUND
,以確保您可以(在這種情況下500)獲得上限和(在這種情況下100)下界
所以產生你所需要的範圍:
SELECT name, address, ROUND(100.0 + 400.0 * RAND()) AS random_number
FROM users
附加到這個答案,創造像
CREATE FUNCTION myrandom(
pmin INTEGER,
pmax INTEGER
)
RETURNS INTEGER(11)
DETERMINISTIC
NO SQL
SQL SECURITY DEFINER
BEGIN
RETURN floor(pmin+RAND()*(pmax-pmin));
END;
的功能,並呼籲像
SELECT myrandom(100,300);
這給你的隨機數,請參閱這個100和300
之間鏈接 http:// stackove rflow.com/questions/1045138/how-do-i-generate-random-number-for-each-row-in-a-tsql-select – DevelopmentIsMyPassion 2013-02-10 14:23:11