簡體   English   中英

如何從SQLite數據庫中獲取隨機記錄?

[英]How to fetch a random record from SQLite database?

我正在使用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對應的語句集是什么?

如果僅將RAND更改為RANDOM並將FLOOR(x)更改為CAST(x AS INTEGER)則這些SQL查詢應在SQLite中工作。

一種更簡單的方法是按隨機數排序:

SELECT name
FROM students
ORDER BY RANDOM()
LIMIT 1

如果表很大,則這樣做的效率更高。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM