mysql - 可以使用子查询在 MySql 查询中分配 LIMIT 值吗?
问题描述
我需要在没有顺序的情况下提取表的最后一行。我试试这个但不起作用:
SELECT *
FROM contabilidad.emp001_series
LIMIT (SELECT COUNT(*)-10 AS TOTAL FROM contabilidad.emp001_series)
我需要自然顺序的结果,不能使用 ORDER BY
解决方案
不可以。不允许使用子查询。
此外,SQL 表中不存在“自然”顺序。SQL 表表示无序集。
最好的办法是进行反向排序并从第 11 行开始:
select s.*
from contabilidad.emp001_series s
order by id desc
limit 999999999 offset 10;
如果你想要一组任意的 id,你也可以使用:
select s.*
from contabilidad.emp001_series s
where id < (select s2.id
from contabilidad.emp001_series s2
order by s2.id desc
limit 1 offset 10
);
这两个都假设您有一个指定排序的某种列。
推荐阅读
- routes - nextJS 深度动态路由
- reactjs - 如何使过滤和搜索协同工作?
- javascript - 在 ramda 中调用具有相同参数的函数列表
- python - 模拟 AWS Glue 作业单元测试用例
- c# - 我如何在我的 wpf 应用程序中正确实现 CefSharp
- mobile - 如何将移动应用程序连接到 IBM Blockchain
- amazon-web-services - AWS 任务角色策略的最佳实践
- r - 重塑每周数据
- python-3.x - asyncio python代码在mac osx(python 3.7)中运行良好,但在windows(python 3.8)中运行良好
- javascript - ReactJS 中的范围和 OOP 问题