如何只显示mysql查询的LAST10结果?
我希望在输出结果时忽略最后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>";
}
?>
编辑我忘了提一下,结果必须按照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
在查询的末尾。它会按照你的ID降序排列,因此第一个结果将是最新的