2013-07-01 71 views
0

我有一個用於iOS上的遊戲的數據庫。我隨機抽出我的數據:Sql隨機數據檢查

SELECT * FROM Questions WHERE Category IS 2 ORDER BY RANDOM() LIMIT 1 

有什麼辦法來檢查以前的數據,並不再顯示它?

回答

0

您將不得不存儲先前選擇的行ID並將其從列表中排除。

SELECT * 
FROM (tablename) 
WHERE (rowname) IS (data) 
and (tablename.id) != (PreviousID) 
ORDER BY RANDOM() LIMIT 1 
+0

比爾感謝您的快速回復。你可以請更充分,因爲這是我第一次嘗試SQL。我的問題是我的桌子上的究竟是什麼(PreviusID)? – axel

+0

我以爲你問了一個關於特定表的具體問題,並且只列出了(表名)是通用的。每個表應該有一個爲其定義的主鍵。你可以在你的應用程序中保存這個主鍵,然後當你回到源代碼時你可以包含「和tablename.id!= PreviousID」。 –

+0

比爾在我的情況下,我有兩個表,第一個是有兩列(ID)和(名稱)這是類別的名稱和第二個表具有外部鍵名稱類別的第一個表(ID ),然後是列(問題),(答案1),(答案2),(答案3),(答案4)。如果你現在能理解,我編輯了我的問題。我在試着提出下一個隨機問題時,與前一個問題不是同一個記錄。 – axel