【发布时间】:2012-02-12 01:06:54
【问题描述】:
我只想选择帖子中最新的 3 个 cmets,并按 ASC 顺序排列。
这会选择最后 3 行,但是我需要它们以相反的顺序:
mysql_query("
SELECT * FROM comments WHERE postID='$id' AND state='0' ORDER BY id DESC LIMIT 3")
【问题讨论】:
标签: php mysql select sql-order-by
我只想选择帖子中最新的 3 个 cmets,并按 ASC 顺序排列。
这会选择最后 3 行,但是我需要它们以相反的顺序:
mysql_query("
SELECT * FROM comments WHERE postID='$id' AND state='0' ORDER BY id DESC LIMIT 3")
【问题讨论】:
标签: php mysql select sql-order-by
您可以稍后对其进行反向排序。
SELECT *
FROM (SELECT * FROM comments
WHERE postID='$id'
AND state='0'
ORDER BY id DESC
LIMIT 3) t
ORDER BY id ASC;
【讨论】:
code $tblNews_new = new Tbl('last_news'); $newseObject = $tblNews_new->Find([['tbl'=>'last_news','field'=>'news_type','value'=>'1']]); foreach($newseObject as $item):code`
这也可以在 PHP 中完成,无需修改 SQL 查询,只需向后迭代结果集即可:
$res = mysql_query(...);
for($i=mysql_num_rows($res)-1; $i>=0; $i--) {
//do whatever
}
我承认我不知道性能差异是什么(如果有的话),但这只是可能适合您的另一种选择。
【讨论】:
$result = mysqli_query($con,"SELECT * FROM (SELECT * FROM messeges WHERE username='{$_SESSION['username']}' ORDER BY id DESC LIMIT 3) t ORDER BY id ASC");
【讨论】: