暂无图片
MYSQL 8.0 为什么 LIMIT 后面不支持运算?
我来答
分享
暂无图片 匿名用户
MYSQL 8.0 为什么 LIMIT 后面不支持运算?
select id, identity_number, surname, name, mobile, sex, birthday, age, top_education, income_year, create_time, update_time 
from dba.personal_identity_info 
where 1=1 
and surname = '王'
order by create_time desc 
limit ((1-1)*10),10;

复制
我来答
添加附件
收藏
分享
问题补充
1条回答
默认
最新
hello

在MySQL 8.0和许多其他数据库系统中,LIMIT子句通常期望常量值,并不直接支持在LIMIT子句内进行算术运算。这种设计符合SQL标准,有助于保持查询执行的清晰度和可预测性。

但仍然可以通过在LIMIT子句之外进行计算来实现所需的功能。例如,您可以在应用程序代码中或SQL查询中的子查询中计算LIMIT的值,然后在LIMIT子句中使用这些计算出的值。子查询计算出LIMIT的值,然后在主查询中使用该值。通过这种方式,即使不支持在LIMIT子句内进行直接算术运算,您仍可以实现所需的功能。

SELECT id, identity_number, surname, name, mobile, sex, birthday, age, top_education, income_year, create_time, update_time
FROM dba.personal_identity_info
WHERE surname = '王'
ORDER BY create_time DESC
LIMIT (SELECT (1 - 1) * 10), 10;

暂无图片 评论
暂无图片 有用 1
打赏 0
chengang
2023-09-28
mysql 这么写是无法执行的。
回答交流
Markdown


请输入正文
提交
相关推荐
MySQL用于控制和显示收集诊断信息的存储过程有哪些?
回答 2
已采纳
如下存储过程用于控制和显示收集诊断信息:pssetupdisablebackgroundthreads():不启用所有后台线程的诊断信息收集。pssetupdisableconsumer():使用li
mysql怎么查找库中只有主键没有二级索引的表??
回答 1
SELECTDISTINCTTABLENAMEFROMINFORMATIONSCHEMA.STATISTICSWHERETABLESCHEMA‘yourdatabasename’–替换为你的数据库名A
mysql开启SSL问题
回答 3
2020051509:20:36[ERROR]Failedtoaccessdirectorypointedbydatadir.Pleasemakesurethatdirectoryexistsandi
mysql批量update的问题
回答 2
可以采用虚拟列的方式,你这个字段就不用更新了。
mysql在生产中,表最大多上行合适?
回答 1
已采纳
在生产环境中,MySQL表的最大行数取决于多个因素,包括硬件资源、数据模型、查询负载和性能需求。
数据库采集程序无法下载
回答 3
目前还不能确定支持时间。新的数据库采集程序上线后,会第一时间在"资讯"专栏中发布通知,敬请期待。
MYSQL的主从延迟,你怎么解决?
回答 1
已采纳
主从复制分了五个步骤进行:步骤一:主库的更新事件(update、insert、delete)被写到binlog步骤二:从库发起连接,连接到主库。步骤三:此时主库创建一个binlogdumpthread
hive 数据库表导出到ftp上了 怎么从ftp倒进mysql或者sql server数据库?
回答 1
可以使用LOADDATAINFILE导入文本文件到mysql库中
MYSQL怎么修改文件存储路径?
回答 2
已采纳
在my.cnf中datadir改改。注意要重启生效。
请问我的语句哪里写的有问题啊?
回答 2
已采纳
提示的是语法错误,可以把几个变量的值打印做出来,手动执行下SQL。看图里267那里跟着两个单引号???