gpt4 book ai didi

MySQL限制从头到尾的查询

转载 作者:行者123 更新时间:2023-11-28 23:13:05 25 4
gpt4 key购买 nike

假设我有一个包含两列的 MySQL 表,并且我执行(再简单不过了)查询

select * from test order by prio asc, datum asc

这给了我预期的结果:

datum      | prio
2017-07-02 | 1
2017-07-09 | 2
2017-06-11 | 3
2017-06-01 | 4
2017-06-18 | 5
2017-06-25 | 6

现在,我想将我的结果限制为只有最后 3 行,避免做带有偏移量的事情,因为那样我必须计算行数,所以我知道这是可行的:

select * from test order by prio asc, datum asc limit 3,3

但是有没有什么技巧,我可以做类似的事情:

select * from test order by prio asc, datum asc limit -3  

我知道这会失败。

谢谢

最佳答案

尝试下面的查询。

SELECT * FROM(
SELECT * FROM test ORDER BY prio DESC LIMIT 0,3
) t ORDER BY prio ASC, datum asc;

子查询将根据优先级降序排列并返回最后 3 条记录。外部查询将再次按升序对这些优先级进行排序,然后按数据排序。

希望对您有所帮助。

关于MySQL限制从头到尾的查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45081019/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com