2014-02-20 46 views
1
Question_ID | Question_sentence 
1   | This is a apple? 
2   | This is a car? 
3   | what number is this? 

訂購這是我的MySQL表有Question IDQuestion Sentence
時,我已創建一個頁面,並顯示這些問題,我想隨機顯示ALL的問題,怎麼辦我解決這個問題?通過隨機顯示的Mysql行

也許添加一個新的列名Random_ID,將分配0之間的隨機數,直到9999, 然後用下面的SQL語句
SELECT * FROM Tbl_Question Order By Random_ID

如何在新列添加在SELECT語句和分配一個隨機數?

有什麼更好的解決辦法?

+0

數據庫沒有隨機性的地方。從您的應用程序中選擇一個隨機ID,然後取出該記錄。然後你可以爲後面的問題實現隨機除外邏輯。 – Dave

+0

嗯...必須保存我在數組中選擇的ID,這是複雜的 –

+0

如果編程容易,每個人都會這樣做。此外,你不需要ID;只需按ID排序並使用偏移量x極限1,那麼您只需要知道總數。 – Dave

回答

3

MySQL中有一個RAND()函數,類似於FLOOR(RAND() * (<max> - <min> + 1)) + <min>

因此,假設你想生成1之間的隨機數到500,你可以打查詢像

SELECT t.*, 
     Floor(Rand() * 500) + 1 AS Random_ID 
FROM tbl_question t 
ORDER BY random_id 

這應該工作。祝一切順利。

+0

訂購它很棒Bro! –

+0

如何接受答案然後..:D – Neels

+0

剩下5分鐘接受答案,=)謝謝亞 –