mysql左连接表要取最新的一条数据_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 [去除重复的字段名列表,....])
1
参照这个格式,去重的写法。进行分组。
最终,达到了我想要的结果。
SELECT
REVISIT_ID,
CONSULTATION_ID,
RESULT_NAME,
REVISIT_TIME
FROM
tb_cloud_consultation_revisit
WHERE REVISIT_ID IN
(SELECT
MAX(REVISIT_ID)
FROM
tb_cloud_consultation_revisit
GROUP 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 FROM tb_cloud_consultation a LEFT JOIN (SELECT REVISIT_ID, CONSULTATION_ID, RESULT_NAME, REVISIT_TIMEFROM tb_cloud_consultation_revisitWHERE REVISIT_ID IN (SELECT MAX(REVISIT_ID) FROM tb_cloud_consultation_revisit GROUP BY CONSULTATION_ID ) ) b ON b.`CONSULTATION_ID` = a.`CONSULTATION_ID`
mysql左连接表要取最新的一条数据_MySQL的左连接查询,只取出最大的一条数据...相关推荐
- MySQL的左连接查询,只取出最大的一条数据
今天有个需求,是通过两张表进行查询.一对多的关系.通过一个主键,取出其中的一条. 开始以为还好,直接用用了left join on进行查询.却发现了问题所在. 其他的好弄. 开始的写法借鉴这篇博客: ...
- go mysql 查询数据_MySQL常用语句之查询数据-Go语言中文社区
简单查询: select [distinct] *| {字段名1,字段名2,字段名3, ...} from 表名 [where 条件表达式1] [group by 字段名 [having 条件表达式2 ...
- SQL 连接 表,取副表的第一条数据
两个表是一(A表)对多(B表)的关系,join的时候,B表只对应显示第一条数据(某些条件).sql该如何写? 表A Aid title days 1 清远二天游 2 2 东莞一天游 1 3 深圳小梅沙 ...
- mysql 查询指定字段数据_MySQL使用select语句查询指定表中指定列(字段)的数据
本文介绍mysql数据库中执行select查询语句,查询指定列的数据,即指定字段的数据. 再来回顾一下sql语句中的select语句的语法: select 语句的基本语法: select from w ...
- mysql 查询千万数据_mysql千万级数据查询
1. mysql 的数据查询 , 大小字段要分开 , 这个还是有必要的 , 除非一点就是你查询的都是索引内容而不是表内容 , 比如只查询 id 等等 2. 查询速度和索引有很大关系也就是索引的大小直接 ...
- mysql分组按天统计数据_MySql按周,按月,按日分组统计数据
知识关键词:DATE_FORMAT select DATE_FORMAT(create_time,'%Y%u') weeks,count(caseid) count from tc_case grou ...
- MySQL数据库----多表查询,表连接
一.查询概述: 查询:指的是针对表中已经存在的数据,可以按照特定组合,条件,或者次序等等来进行一系列的检索查看操作------>select语句. 二.查询的基本操作: 1.查询语句的基本结构: ...
- python Django 连接mysql数据库创建表详细全过程
python Django 连接mysql数据库创建表详细全过程 1,在数据库中新建一个要连接的数据库(在cmd命令行里登录数据库进行创建创建) mysql -u root -p**+密码** cre ...
- mysql 按日期拆分成多条记录_mysql性能优化2 设计规范 设计原则 结构优化 拆分 配置优化...
一.MYSQL数据库设计规范 1.数据库命名规范 a.采用26个英文字母(区分大小写)和0-9的自然数(经常不需要)加上下划线'_'组成; b.命名简洁明确(长度不能超过30个字符); c.例如:us ...
最新文章
- CSS之常用选择器(元素、id、类、通配选择器)
- Linux系统详解 系统的启动、登录、注销与开关机
- python恶搞-如何用python和vbs恶搞基友?
- Css相对定位和绝对定位实现CSDN标题栏
- python中的__new__与__init__,新式类和经典类(2.x)
- 继承的概念和实现 、 super关键字 、 Object常见方法、抽象类、接口、模板方法模式、成员内部类、匿名内部类
- linux看系统硬件,Linux 查看系统硬件信息(实例详解)
- 归档和解档-Archiver
- 【C语言笔记初级篇】第七章:结构体相关
- 初步解决网同客户端升级后局域网不能上网的问题
- 火星坐标 C语言,iOS7上地球坐标系到火星坐标系转换算法
- 余世雄 - 与上司沟通的7个技巧
- SQL基础操作(3):对表中元进行简单删,改,查的操作【增在2中】
- 抛光树脂制备超纯水电阻率18.25M
- jmap 和jstack使用
- Race Condition 引起的 HashMap CPU100%
- 程序员的数学基础课 二进制(自我提升第6天)
- mapgis明码文件转为点线面文件_MAPGIS平台点线面符号数据导出与绘制
- hdu 2829 Lawrence 斜率优化
- 品质标签分几种颜色_常见标签种类