300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > Mysql子查询IN中使用LIMIT应用示例【MySQL】

Mysql子查询IN中使用LIMIT应用示例【MySQL】

时间:2022-09-22 23:39:55

相关推荐

Mysql子查询IN中使用LIMIT应用示例【MySQL】

数据库|mysql教程

申请表,项目

数据库-mysql教程

这两天项目里出了一个问题,LIMIT使用后报错。

家禽售卖源码,ubuntu时间同步超时,无法在网页上显示tomcat,淘宝爬虫法律,php共享净化器源码,Seo Jae Hyunglzw

需求是这样的,我有3张表,infor信息表,mconfig物料配置表,maaply物料申请表,要求是读出申请表中哪些人申请哪些物料

怎么解析vip源码,ubuntu 的qt环境,美区耐克爬虫,setinc php,seo在线刷lzw

于是我先是这样写的:

centos 下载源码,vscode调试geth,ubuntu namp,多个tomcat 停止,vba sqlite3,ecshop组合购买插件,前端自适应框架支持seo,爬虫实战ecar168,oci.dll php,哪里查看seo优化,iapp源码分享网站,网页点击特效,phpweb 模板修改lzw

SELECT infor.name,infor.phone,infor.add,

mconfig.mname,mapply.acount,from_unixtime(mapply.atime,’%Y-%m-%d’) as ‘atime’

FROM mapply right JOIN infor ON mapply.uid = infor.uid inner JOIN mconfig ON mapply.mid = mconfig.mid

WHERE mapply.aid

IN (

SELECT aid

FROM `mapply` where state = $state

ORDER BY `atime` , `uid` DESC

LIMIT 0,10

)

结果报错了

当时没注意报的什么错误,只是看到LIMIT什么的错误,于是改了下代码

SELECT infor.name,infor.phone,infor.add,

mconfig.mname,mapply.acount,from_unixtime(mapply.atime,’%Y-%m-%d’) as ‘atime’

FROM mapply right JOIN infor ON mapply.uid = infor.uid inner JOIN mconfig ON mapply.mid = mconfig.mid

WHERE mapply.aid

IN (

SELECT aid

FROM `mapply` where state = $state

ORDER BY `atime` , `uid` DESC

)

LIMIT 0,10

这样没有报错,莫离以为OK了,但是运行后发现,数据有问题

和单纯的读出申请表的内容不一样,才发现LIMIT的位置放错了,于是又把LIMIT发在IN里,结果报错如下

This version of MySQL doesn’t yet support ‘LIMIT & IN/ALL/ANY/SOME subquery’

细看才知道,IN里不支持LIMIT。那怎么办呢?

于是度娘后得知,在IN里再使用一张临时表,把需要的内容先查出来,

修改后代码如下:

SELECT infor.name,infor.phone,infor.add,

mconfig.mname,mapply.acount,from_unixtime(mapply.atime,’%Y-%m-%d’) as ‘atime’

FROM mapply right JOIN infor ON mapply.uid = infor.uid inner JOIN mconfig ON mapply.mid = mconfig.mid

WHERE mapply.aid

IN (

SELECT aid

FROM (SELECT `aid` FROM `mapply` where state = $state

ORDER BY `atime` , `uid` DESC

LIMIT 0,10)AS `tp`

)

运行后,问题解决~~~

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。