我需要获取表格的最后3条记录并按升序排列。
以下查询将返回表的最后3条记录,但不会对它们进行排序。
select column_1, column_2 from table_name order by id desc limit 3
是否有办法在不使用子查询的情况下对这些记录进行排序?
我试过
select column_1, column_2 from table_name order by id desc, id asc limit 3
但它不起作用。
答案 0 :(得分:4)
在我看来,我不认为没有子查询的任何其他方式都可以轻松实现
尝试以下:
SELECT a.* from
(SELECT column_1, column_2 FROM table_name ORDER BY id DESC LIMIT 3) as a
ORDER BY a.id ASC
在您使用limit
的情况下,子查询不是一个坏主意。
答案 1 :(得分:-1)
如果您想使用PDO:
$stmt = $dbh->prepare('SELECT * FROM your-table ORDER BY date DESC Limit 3');