limit
Значения должны быть жестко заданными константами. Вы не можете использовать переменные на них, например. select ... limit @somevar
- синтаксическая ошибка. Вы также не можете использовать подзапросы или другие динамические значения. Таким образом, вы застряли либо выборки строки подсчитать загодя и вещи его в строку запроса как «жестко закодированы» значение:
$ten_percent = get_from_database('select count(*)/10 from book');
$sql = "SELECT .... LIMIT $ten_percent";
Или вы просто извлечь все, а затем прервать свой цикл, как только вы» ve достигло 10%:
$sql = "SELECT ....";
$result = mysql_query($sql) or die(mysql_error());
$total_rows = mysql_num_rows($result);
$fetched = 0;
while($row = mysql_fetch_assoc()) {
$fetched++;
if ($fetched >= ($total_rows/10)) {
break; // abort the loop at 10%
}
... do stuff with $row
}
спасибо за ваше время, но мне нужен код в mysql. Можно ли это решить в mysql? – poppytop
вы могли бы построить свою строку как динамический sql в mysql, используя хранимую процедуру, в основном то же самое, что и в примере с двумя строками выше. уродливый, но выполнимый. –
Могу ли я спросить вас, можете ли вы сделать это для меня? Мне действительно нужна помощь в этом. мы даже не знаем основ mysql, и они дали нам это. – poppytop