如何从SQLite数据库中获取随机记录?

时间:2010-05-29 09:30:13

标签: php mysql sqlite

我正在研究PHP。我之前在使用MySQL。这是我使用的代码 -

 $offset_result = mysqli_query($con, " SELECT FLOOR(RAND() * COUNT(*)) AS `offset` FROM students ");
 $offset_row = mysqli_fetch_object( $offset_result );
 $offset = $offset_row->offset;
 $result = mysqli_query($con, " SELECT name FROM students LIMIT $offset, 1 " );      
 $row = mysqli_fetch_row($result);
 mysqli_free_result($result);

SQLite的相应语句集是什么?

1 个答案:

答案 0 :(得分:4)

如果您只是将RAND更改为RANDOM而将FLOOR(x)更改为CAST(x AS INTEGER),那么这些SQL查询应该可以在SQLite中使用。

一种稍微简单的方法是按随机数排序:

SELECT name
FROM students
ORDER BY RANDOM()
LIMIT 1

如果表格非常大,你的表现方式会更有效。