我只想在帖子上选择最新的3条评论,并按照ASC顺序订购。
这会选择最后3行,但我需要它们的顺序相反:
mysql_query("
SELECT * FROM comments WHERE postID='$id' AND state='0' ORDER BY id DESC LIMIT 3")
答案 0 :(得分:16)
您可以稍后对其进行反向排序。
SELECT *
FROM (SELECT * FROM comments
WHERE postID='$id'
AND state='0'
ORDER BY id DESC
LIMIT 3) t
ORDER BY id ASC;
答案 1 :(得分:2)
这也可以在PHP中完成,无需修改SQL查询,只需向后迭代结果集:
$res = mysql_query(...);
for($i=mysql_num_rows($res)-1; $i>=0; $i--) {
//do whatever
}
我承认我不知道性能差异是什么(如果有的话),但它只是可能适合你的另一种选择。
答案 2 :(得分:-1)
$result = mysqli_query($con,"SELECT * FROM (SELECT * FROM messeges WHERE username='{$_SESSION['username']}' ORDER BY id DESC LIMIT 3) t ORDER BY id ASC");