0
如何返回SQLite表中的隨機記錄。例如,我有一張有750條記錄的表格,我想返回第657條記錄。 (任何記錄都可以)。什麼是SQL語法?我有一個autoincrementing字段作爲我的Id主鍵,但我不想使用關鍵字段,因爲不推薦使用id。我將在Android應用程序中搜索數據庫。sqlite返回表中的隨機記錄
TIA
如何返回SQLite表中的隨機記錄。例如,我有一張有750條記錄的表格,我想返回第657條記錄。 (任何記錄都可以)。什麼是SQL語法?我有一個autoincrementing字段作爲我的Id主鍵,但我不想使用關鍵字段,因爲不推薦使用id。我將在Android應用程序中搜索數據庫。sqlite返回表中的隨機記錄
TIA
試試這個:
SELECT * FROM table ORDER BY RANDOM() LIMIT 1;
你可以嘗試這樣的事情,應該是更有效的
select * from table
where rowid =
(select round(abs(random()/9223372036854775807.0)*max(rowid)+1) from table);
如果您已刪除的行這個選擇可能不返回行,那麼如果是這種情況,您可能需要重新查詢。
請注意,此方法不能縮放。對於每一行,都會生成一個隨機值,並且該表按此值排序。換句話說,如果有很多行,它會變得很慢。 –