使用LIMIT 2查询MySQL

时间:2014-11-03 08:29:32

标签: php mysql

我想用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>

有什么想法吗?

4 个答案:

答案 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进行排序可能会更好。