sqlite在表中返回一个随机记录

时间:2011-10-03 21:49:00

标签: java android sqlite

如何在SQLite表中返回随机记录。例如,我有一个包含750条记录的表,我想返回第657条记录。 (任何记录都可以)。什么是SQL语法?我有一个自动增量字段作为我的Id主键,但我不想使用键字段,因为不建议使用id。我将在Android应用程序中搜索数据库。

TIA

2 个答案:

答案 0 :(得分:2)

试试这个:

SELECT * FROM table ORDER BY RANDOM() LIMIT 1; 

答案 1 :(得分:0)

您可以尝试这样更有效的方法

select * from table
   where rowid =
      (select round(abs(random()/9223372036854775807.0)*max(rowid)+1) from table);

如果您删除了行,则此选择可能不返回任何行,因此如果是这种情况,您可能需要重新查询。