如何在mysql查询中随机给出限制

I have a select query in mysql . On each execution of this query I need different amount of data, between 10 and 30 entries.

I tried with following code :

'SELECT * FROM user where status='0' LIMIT 10,30'

But it's always giving result of limit 30.

How can i execute it?

LIMIT x,y says that you'll get 30 results up from position 10

try $limit = rand(10,30) --> ... LIMIT '.$limit.'

Limit 10,30 means it will show 30 record starting from record no. 10.So what's the problem.

If you want record from 10 to 30 then use limit 10,20

If your expecting a result limit of 20, maybe you want..

'SELECT * FROM user where status='0' LIMIT 10,20'

Its essentially LIMIT [offset, amount]

limit 10,30 will give you records from record umber 10 and records will be 30 in total,

so if u want to change it in every query u might need to pass limit parameter for example

$from = '2'; $records = '10'; SELECT * FROM user where status='0' LIMIT $from,$records

If you want between 10 and 30 results and you are building your query in PHP you can use

$sql = "SELECT * FROM user where status='0' LIMIT " . rand(10,30);

This will give the same order of results each time however just a different amount. If you really want a random result set you can randomize the order with MySQL

$sql = "SELECT * FROM user where status='0' ORDER BY RAND() LIMIT " . rand(10,30);