Php 如何从SQLite数据库中获取随机记录?
我正在研究PHP。我以前使用过MySQL。这是我使用的代码-Php 如何从SQLite数据库中获取随机记录?,php,mysql,sqlite,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,
$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的相应语句集是什么?如果您只需将
RAND
更改为RANDOM
并将FLOOR(x)
更改为CAST(x为整数)
,那么这些SQL查询应该在SQLite中工作
一种稍微简单的方法是按随机数排序:
SELECT name
FROM students
ORDER BY RANDOM()
LIMIT 1
如果表非常大,则执行此操作的方式更有效。如果您只需将
RAND
更改为RANDOM
并将FLOOR(x)
更改为CAST(x为整数)
,则这些SQL查询应该在SQLite中工作
一种稍微简单的方法是按随机数排序:
SELECT name
FROM students
ORDER BY RANDOM()
LIMIT 1
如果桌子很大,那么你的工作方式会更有效率