mysqlにselectクエリがあります。このクエリを実行するたびに、10〜30エントリの異なる量のデータが必要になります。
私は次のコードで試しました:
'SELECT * FROM user where status='0' LIMIT 10,30'
しかし、それは常に制限30の結果を与えています。
どうすれば実行できますか?
10 から 30 の結果が必要で、PHP でクエリを作成している場合は、次を使用できます。
$sql = "SELECT * FROM user where status='0' LIMIT" . ランド(10,30);
これにより、毎回同じ順序の結果が得られますが、量が異なります。本当にランダムな結果セットが必要な場合は、MySQL で順序をランダム化できます
$sql = "SELECT * FROM user where status='0' ORDER BY RAND() LIMIT" . ランド(10,30);
limit 10,30
レコード番号 10 からレコードが提供され、レコードは合計 30 になります。
limit parameter
したがって、すべてのクエリでそれを変更したい場合は、たとえば渡す必要があるかもしれません
$from = '2';
$records = '10';
SELECT * FROM user where status='0' LIMIT $from,$records
結果の上限が 20 であると予想している場合は、おそらく..
'SELECT * FROM user where status='0' LIMIT 10,20'
その本質的に LIMIT [オフセット、量]
LIMIT x,y は、10 位から 30 件の結果が得られることを示しています。
try $limit = rand(10,30)
--> ...LIMIT '.$limit.'