我想用LIMIT 2查询ORDER BY DESC
$q = mysqli_query("SELECT * FROM tb ORDER BY date_post DESC LIMIT 2");
while($d = mysqli_fetch_array($q))
{
?>
<td><?php echo $d['message'];</td>
<?php
}
示例数据显示将是:
<td>Hi I'm last row</td>
<td>Hi I'm second row</td>
我想用LIMIT 2查询ORDER BY DESC,之后我希望查询显示如下:
<td>Hi I'm second row</td>
<td>Hi I'm last row</td>
有什么想法吗?
答案 0 :(得分:1)
您可以使用嵌套查询来实现:
SELECT *
FROM
(SELECT * FROM tb ORDER BY date_post DESC LIMIT 2) AS `t1`
ORDER BY date_post
答案 1 :(得分:1)
更改$ q
$q = mysqli_query("SELECT * FROM
(SELECT * FROM tb ORDER BY date_post DESC LIMIT 2)
AS new_tb ORDER BY date_post ASC");
答案 2 :(得分:1)
您好请尝试以下方法:
$q = mysqli_query("SELECT * FROM tb ORDER BY date_post DESC LIMIT 2");
$arr_length = count($q);
for($i=$arr_length-1;$i>=0;$i--)
{
echo "<td>".$q[$i]['message']."</td>";
}
答案 3 :(得分:0)
ORDER BY名称ASC应该给你相反的结果。如果你总是希望获得2行中的最后一行,那么对id进行排序可能会更好。