2010-05-29 136 views
0

我正在使用PHP。我以前正在使用MySQL。以下是我使用的代碼 -如何從SQLite數據庫中獲取隨機記錄?

$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的相應語句集?

回答

4

這些SQL查詢應該在SQLite的工作,如果你只需要改變RANDRANDOMFLOOR(x)CAST(x AS INTEGER)

稍微簡單的方法來做到這一點是通過一個隨機數命令:

SELECT name 
FROM students 
ORDER BY RANDOM() 
LIMIT 1 

你正在做它的方式更有效,如果表是非常大的。

相關問題