首页 数据库 mysql教程 Mysql子查询IN中使用LIMIT_MySQL

Mysql子查询IN中使用LIMIT_MySQL

Jun 01, 2016 pm 01:26 PM
项目

bitsCN.com

学习下Mysql子查询IN中使用LIMIT的方法。

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

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

于是,首先这样写:
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
) www.jbxue.com

结果报错了

当时没注意报的什么错误,只是看到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。那怎么办呢?www.jbxue.com

于是度娘后得知,在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`
)
运行后,问题解决!

bitsCN.com
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热门文章

仓库:如何复兴队友
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.能量晶体解释及其做什么(黄色晶体)
1 周前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒险:如何获得巨型种子
3 周前 By 尊渡假赌尊渡假赌尊渡假赌

热门文章

仓库:如何复兴队友
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.能量晶体解释及其做什么(黄色晶体)
1 周前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒险:如何获得巨型种子
3 周前 By 尊渡假赌尊渡假赌尊渡假赌

热门文章标签

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

AI攻克费马大定理?数学家放弃5年职业生涯,将100页证明变代码 AI攻克费马大定理?数学家放弃5年职业生涯,将100页证明变代码 Apr 09, 2024 pm 03:20 PM

AI攻克费马大定理?数学家放弃5年职业生涯,将100页证明变代码

深入了解PyCharm:快速删除项目的方法 深入了解PyCharm:快速删除项目的方法 Feb 26, 2024 pm 04:21 PM

深入了解PyCharm:快速删除项目的方法

分享PyCharm项目打包的简易方法 分享PyCharm项目打包的简易方法 Dec 30, 2023 am 09:34 AM

分享PyCharm项目打包的简易方法

PyCharm实用技巧:将项目转换为可执行EXE文件 PyCharm实用技巧:将项目转换为可执行EXE文件 Feb 23, 2024 am 09:33 AM

PyCharm实用技巧:将项目转换为可执行EXE文件

制作 iPhone 上 iOS 17 提醒应用程序中的购物清单的方法 制作 iPhone 上 iOS 17 提醒应用程序中的购物清单的方法 Sep 21, 2023 pm 06:41 PM

制作 iPhone 上 iOS 17 提醒应用程序中的购物清单的方法

基于开源的 ChatGPT Web UI 项目,快速构建属于自己的 ChatGPT 站点 基于开源的 ChatGPT Web UI 项目,快速构建属于自己的 ChatGPT 站点 Apr 15, 2023 pm 07:43 PM

基于开源的 ChatGPT Web UI 项目,快速构建属于自己的 ChatGPT 站点

react启动项目报错怎么办 react启动项目报错怎么办 Dec 27, 2022 am 10:36 AM

react启动项目报错怎么办

PyCharm教程:如何在PyCharm中移除项目? PyCharm教程:如何在PyCharm中移除项目? Feb 24, 2024 pm 05:54 PM

PyCharm教程:如何在PyCharm中移除项目?

See all articles