MySQL的左连接查询,只取出最大的一条数据
今天有个需求,是通过两张表进行查询。一对多的关系。通过一个主键,取出其中的一条。
开始以为还好,直接用用了left join on进行查询。却发现了问题所在。
其他的好弄。
开始的写法借鉴这篇博客:
https://bbs.csdn.net/topics/350134616?tdsourcetag=s_pcqq_aiomsg
没能解决问题,因为取出的数据中不是我想要的最新的,而是最小的ID的那个。
为什么会这样呢,了解了才知道,说是group by 分组取出的是按照最小的取出的,我也很绝望!
接下来参照了这个SQL:
SELECT ID,USER_ID,problems,last_updated_date FROM (select * from t_iov_help_feedback order by USER_ID, LAST_UPDATED_DATE DESC) b
GROUP BY b.USER_ID;
参照的是这篇博客:
https://blog.csdn.net/u012660464/article/details/78605078?tdsourcetag=s_pcqq_aiomsg
很郁闷的是,他的博客,他最后取出了最大的值,而我却依旧没有最大值。因为这篇博客的原理就是因为group by取出的是最小的,所以它就先按照ID查出最大的。很显然,又失败了!!!
这个时候,已经弄了一下午,快下班了。
于是又继续看网上的一些博客。
找到了最原始的写法,于是按照最原始的写法:
语法格式是:
SELECT * FROM TABLE WHERE ID IN (SELECT MAX(ID) FROM TABLE GROUP BY [去除重复的字段名列表,....])
参照这个格式,去重的写法。进行分组。
最终,达到了我想要的结果。
SELECT REVISIT_ID,CONSULTATION_ID,RESULT_NAME,REVISIT_TIME
FROMtb_cloud_consultation_revisit
WHERE REVISIT_ID IN (SELECT MAX(REVISIT_ID) FROMtb_cloud_consultation_revisitGROUP BY CONSULTATION_ID )
博客源于:
https://blog.csdn.net/hd243608836/article/details/80088173
接下来就可以很简单的完成剩下的部分了:
SELECT a.`CONSULTATION_ID` AS consultationId,a.CONSULTATION_NAME AS consultationName,a.CONSULTATION_PHONE AS consultationPhone,a.CONSULTATION_DATE AS consultationDate,a.MODE_NAME AS modeName,a.`CHANNEL_NAME` AS channelName,a.INTENTION_NAME AS intentionName,a.REASON_NAME AS reasonName,a.`PENSION_CARD` AS pensionCard,a.REMARK AS remark,a.PENSION_NAME AS pensionName,a.ABILITY_NAME AS abilityName,b.RESULT_NAME AS resultName
FROMtb_cloud_consultation a LEFT JOIN (SELECT REVISIT_ID,CONSULTATION_ID,RESULT_NAME,REVISIT_TIME
FROMtb_cloud_consultation_revisit
WHERE REVISIT_ID IN (SELECT MAX(REVISIT_ID) FROMtb_cloud_consultation_revisitGROUP BY CONSULTATION_ID )) b ON b.`CONSULTATION_ID` = a.`CONSULTATION_ID`
MySQL的左连接查询,只取出最大的一条数据相关推荐
- mysql数据库中,查询一个表的下一条数据减上一条数据的值的写法
mysql数据库中,查询一个表的下一条数据减上一条数据的值的写法: select a.nodeId,a.cpuCharge-b.cpuCharge cpuCharge, a.chargeTime fr ...
- MySQL数据库左连接查询left join ... on
1. 左连接查询 以左表为主根据条件查询右表数据,如果根据条件查询右表数据不存在使用null值填充 左连接查询效果图: 左连接查询语法格式: select 字段 from 表1 left join 表 ...
- mysql左连接表要取最新的一条数据_MySQL的左连接查询,只取出最大的一条数据...
今天有个需求,是通过两张表进行查询.一对多的关系.通过一个主键,取出其中的一条. 开始以为还好,直接用用了left join on进行查询.却发现了问题所在. 其他的好弄. 开始的写法借鉴这篇博客: ...
- mysql 主键倒序查询速度慢_一亿条数据order by主键降序速度很慢
我用sysbench造了1亿条数据,mysql用了30分钟,tidb总共花了3个小时,感觉tidb在批量插入时比较慢,如果后面程序做分页查询会很慢的. count总数.降序排序也比mysql慢. ti ...
- MYSQL左连接查询过滤问题
1.MySQL left jion 连接查询,保留左边查询记录信息在on连接后面加过滤条件(连接右表,有则查值,无则为null) 2.where 条件过滤,过滤字段记录若为null,也会被过滤掉,例如 ...
- Mysql之七种连接查询
1.数据库构成 2.sql执行顺序 1.内连接查询 显示A表和B表的共有信息,相当于取交集. 2.左连接查询 显示左表(A表)的全部信息,右表(B表)只显示符合条件的信息,没有显示null 3.右连接 ...
- [Mysql] 多表连接查询
在之前的学习当中,我们查询使用的都是一张表,而在实际的数据分析业务中,经常会使用多张表.将多张表连接起来就是多表连接(从一个表扩展为两个表,也可以更多个表) 多表连接查询 当查询结果的列来源于多张表时 ...
- delete from删除几张表关联和mysql几种连接查询总结
delete from删除几张表关联和mysql几种连接查询总结 一.delete from删除几张表关联 ① 在多表连接时删除数据(错误删除示例): delete from sys_role_men ...
- MySQL多表连接查询
MySQL多表连接查询 1 什么是多表连接查询 2 表和表之间的关系 2.1 并 2.2 笛卡尔积 2.3 连接查询 3 查询操作 3.1 内连接查询 3.2 外连接查询(OUTER JOIN) 3. ...
最新文章
- 如何解决资料下载下来为index.html和PHP文件的问题?
- webService初探
- 【zz】如何去理解 拓扑排序算法
- CentOS 6.3安装Nginx开启目录浏览、下载功能
- 使用UIImageView实现图像拖动、缩放等
- java中gc是怎么工作的_java中的GC(gabage collection)如何工作
- Android打开jsp页面,如何确定是通过jsp页面上的Android设备还是IOS设备访问网页
- 为什么java在自己这是正确的但过不了oj_技术干货:关于Java异常的9大问题
- 安装成功配置环境变量_go语言学习笔记-Windows10开发环境安装和环境变量配置
- Missing artifact com.oracle:ojdbc6:jar:11.2.0.3 Maven中不能引入ojdbc解决方法,错误
- golang编译之vendor机制
- 还在用 Random?试试 ThreadLocalRandom,好用!
- 19.go fix 和 go tool fix
- DSP数字信号处理实验--CCS基础入门
- 河南大学计算机学院夏令营,河南大学数学与统计学院2020年优秀大学生国际夏令营...
- python中如何求水仙花数_python如何求水仙花数?
- 了解固件(Firmware)和驱动(Driver)
- 矩阵等价、合同、相似的区别
- 【一周头条盘点】中国软件网(2018.10.8~2018.10.12)
- AI黑白照片上色系列-藏在英国伦敦图书馆黑白上色,从未发表的100多年前的中国影像
热门文章
- 网易秘密启动“D计划” 引爆新一轮电子邮箱大战
- 自媒体、短视频博主都在用这5个免费视频网站
- 《A Mixed-Initiative Interface for Animating Static Pictures》翻译
- python求积分_利用python的sympy求解微积分
- 直播风口之下,视频社交会成为下一个流量平台吗?
- 小程序收集箱:批量调节图像曝光度、锐利度、对比度、亮度的demo
- 4.4 服务器上的 Git - 配置服务器
- 哪个计算机软件可以探究小孔成像,探究小孔成像
- dedecms织梦tag标签当前列表地址
- P1071 [NOIP2009 提高组] 潜伏者