我正在尝试从SQL获取一些行并按ID排序。目前我的查询是这样的:
SELECT * FROM logs ORDER by id ASC;
这将获取我的所有行并按ID的升序垂直打印:
1
2
3
4 etc etc.
现在,问题是我希望只打印底部2,如下所示:
3
4
但我尝试了不同的代码,但它不会起作用。举个例子,我试过了:
SELECT * FROM logs ORDER by id ASC DESC limit 10
但这会打印出来,所以订单又错了!
4
3
有什么想法吗?谢谢你们
答案 0 :(得分:3)
您可以使用子查询。
SELECT *
FROM (
SELECT *
FROM logs
ORDER BY id DESC
LIMIT 2
) subquery
ORDER BY id ASC
请注意,从子查询中选择需要别名(在本例中为subquery
)。否则你将得到错误Every derived table must have its own alias
,至少在MySQL中。