Как я могу отображать только результаты LAST 10 из запроса mysql?
Я хочу, чтобы все результаты до 10 последних результатов были проигнорированы при выходе результатов.
<?php $query = mysql_query("SELECT * FROM graphs WHERE sid=2 ORDER BY id"); while($info = mysql_fetch_array($query)){ $graph_id = $info['id']; $graph_info = $info['labels']; $graph_fig = $info['figures']; echo "<label>" . $graph_info .":<span style='background-color: #06F;'>" . $graph_fig . "</span></label>"; } ?>
EDIT Я забыл упомянуть, что результаты должны отображаться в порядке ASCENDING, отсортированном по столбцу id.
SELECT * FROM (SELECT * FROM graphs WHERE sid=2 ORDER BY id DESC LIMIT 10) g ORDER BY g.id
Получение последних 10 записей, но результаты все еще находятся в порядке возрастания.
По убыванию:
ORDER BY id DESC LIMIT 10
SELECT * FROM graphs WHERE sid=2 ORDER BY id DESC LIMIT 10;
Объяснение: по умолчанию результаты ORDER BY сортируются по возрастанию (ORDER BY ASC). Указав нисходящий (DESC), они сортируются в обратном порядке, затем LIMIT 10 принимает первые 10 результатов.
ORDER BY id DESC LIMIT 10
в конце вашего запроса. Он будет упорядочивать ваши идентификаторы по убыванию, и поэтому первый результат будет самым новым