当前位置:网站首页>mysql查询两个字段值相同的记录
mysql查询两个字段值相同的记录
2022-08-01 14:05:00 【独酌先生QAQ】

已知,客户在投保之前和投保之后在applicant表记录了对应的两条数据,表结构如上所示。
id是投保单id,投保前后的两条数据一定一致,applicant_id是投保人id,有可能存在不一致的情况,投保前后对应oldnew字段存储的状态分别为1和2。
现要将数据区分:
1.统计数据前后applicant_id字段未发生改变的数据,将对应数据展示
2.统计数据前后applicant_id字段发生了改变的数据,并对数据进行拼接
1.分析可知其实就是要得到applicant_id和id两个字段相同的数据
sql语句:
select id,applicant_id,applicant_name,oldnew
from applicant a
group by id,applicant_id
having count(*)=2
其中group by id,applicant_id 意味着 id和applicant_id都要一致才能分为一组会得到以下结果

having条件针对的是已经分组之后的一个个组合对象,比如上图其实就是分为五组,其中id=2的那组中有两条数据,count(*)针对的是组合对象,id=2对应的值为count(*)=2,得到以下结果

2.统计数据前后applicant_id字段发生了改变的数据,并对数据进行拼接
sql语句:
select a.id 投保前id,a.applicant_id 投保前applicantid,b.id 投保后id,b.applicant_id 投保后applicantid
from applicant a ,applicant b
where a.id=b.id and a.oldnew=1 and b.oldnew=2
group by a.id,a.applicant_id
having count(*)=1
and a.id in
(select c.id
from applicant c
group by c.id
having count(*)=2)
其中
from applicant a ,applicant b 是为了一个表当两个表来查询,可以将两条数据拼接展示
a.oldnew=1 and b.oldnew=2 条件约束使得查询出来的语句只有一条
group by a.id,a.applicant_id
having count(*)=1 是为了校验applicant_id是否不一致,就会分成两组
select c.id from applicant c
group by c.id having count(*)=2 是为了保证一定要是id相同的数据

group by分组一般只展示分组的字段,mysql8.0可以展示其他字段
边栏推荐
- openEuler 社区完成首批顾问专家聘用,共同为社区的发展贡献力量
- DaemonSet of kubernetes and rolling update
- 分布式中的CAP原理
- 「计算复杂性」理论奠基人Juris Hartmanis逝世,曾获93年图灵奖
- D - Draw Your Cards(模拟)
- win10+Qt5.15.2 realizes low-power bluetooth control
- sql is not null 优化(oracle语句索引优化)
- iPhone难卖,被欧洲反垄断的服务业务也难赚钱了,苹果的日子艰难
- Gradle series - Gradle tests, Gradle life cycle, settings.gradle description, Gradle tasks (based on Groovy documentation 4.0.4) day2-3
- 你真的会测试用户登录吗?
猜你喜欢
随机推荐
微信UI在线聊天源码 聊天系统PHP采用 PHP 编写的聊天软件,简直就是一个完整的迷你版微信
the direction i'm looking for
PIR人体感应AC系列感应器投光灯人体感应开关等应用定制方案
PyTorch 进阶之路:在 GPU 上训练深度神经网络
DDL和DML的含义与区别「建议收藏」
AtCoder Beginner Contest 261 D - Flipping and Bonus
fh511小风扇主控芯片 便携式小风扇专用8脚IC 三档小风扇升压芯片sop8
大佬们,datax同步数据,同步过程中要新增一个uuid,请问column 怎么写pgsql,uu
对标丰田!蔚来又一新品牌披露:产品价格低于20万
8. How does the SAP ABAP OData service support the Create operation
分布式中的远程调用
2022-07-29 网工进阶(二十二)BGP-其他特性(路由过滤、团体属性、认证、AS欺骗、对等体组、子路由器、路由最大接收数量)
【无标题】
Amperon IPO meeting: annual revenue of 500 million Tongchuang Weiye and China Mobile Innovation are shareholders
使用ffmpeg来查看视频的信息,fps,和width,height
28uA待机8米距离低压保护单片机探头太阳能灯人体PIR定制方案
PAT 1163 Dijkstra Sequence(30)
透过现象看本质,如何针对用户做好需求分析
荣信文化通过注册:年营收3.8亿 王艺桦夫妇为实控人
Istio Pilot代码深度解析








