2011-09-09 16 views
1
使用下面的查詢

我取數據:因爲它是進入數據庫如何在SELECT查詢的每一行中分配隨機數?

select * from tbl_words where userID = '3' 

select query會給數據。

這裏我想給隨機數指定另一列。所以每行在隨機數列中都會有一個隨機數。

我該如何做到這一點?

+0

隨機否或唯一否? –

+0

你想在插入時在行中插入一個隨機數嗎? – Bajji

+0

這個隨機數應該記錄到數據庫還是每次運行查詢時創建? – NullUserException

回答

2

RAND()(在MySQL)由10生成0和1之間乘以隨機數之間獲得1和10,在1和100之間乘以100 ...等等。

感謝下面的評論中的Null,SQLite中的RANDOM()會生成一個負面的愚蠢和正面的愚蠢之間的隨機數,所以沒有必要乘以SQLite的任何東西。

在INSERT:

INSERT INTO table_name (column1, column2, random_number) VALUES ("something", "else", RAND() * 100000) 
INSERT INTO table_name (column1, column2, random_number) VALUES ("something", "else", RANDOM()) 

在選擇

SELECT column1, column2, RAND() * 100000 AS random_number FROM table_name 
SELECT column1, column2, RANDOM() AS random_number FROM table_name 
+2

SQLite中的RANDOM()在-9223372036854775808和+9223372036854775807之間生成一個隨機int。 – NullUserException

+0

O_o現在,我不知道。我一直認爲這只是一個函數名稱。 – Joe

+0

你可以通過使用模n + 1得到'0到n'範圍內的值;例如:'RANDOM()%101'會給你一個介於0和100之間的數字。 – NullUserException

2

這可能工作:

select *, random() from tbl_words where userID = '3' 
2

您需要random()功能:

select t.*, random() from tbl_words t where userID = '3' 
2

您可以在查詢中使用random()

Select * from `yourtablename` where `yourcolumnname` order by random() 
1
SELECT random() 
UNION ALL 
select * from tbl_words where userID = '3' 

嘗試它沒有resrouce測試它。 發現隨機從here