mysql查询重复数据并保留一条
来源:互联网 发布:java excel 日期格式 编辑:程序博客网 时间:2024/04/28 06:51
1.需求
现有一张利息表hyd_day_loandetil,有以下字段
主键ID、借贷IDLOAN_TURN_ID、账单日BILL_TIME、正常利息INTEREST、逾期利息OVERDUE_BALANCE字段
表中存在同一天、同一笔借贷、两条数据,现在要把重复的数据查询出来并把正常利息+逾期利息比较小的那一条查询出来
2.SQL脚本实现
SELECT N.id,DATE_SUB(N.BILL_TIME, interval 3 day) FROM(SELECT @rownum:=@rownum*-1 AS rownum,hyd_day_loandetil.* FROM (SELECT @rownum:=1) r, hyd_day_loandetil WHERE (LOAN_TURN_ID,BILL_TIME) IN(SELECT LOAN_TURN_ID,BILL_TIME FROM hyd_day_loandetil GROUP BY LOAN_TURN_ID,BILL_TIME having count(*) > 1)ORDER BY BILL_TIME,LOAN_TURN_ID,hyd_day_loandetil.INTEREST+hyd_day_loandetil.OVERDUE_BALANCE DESC) N WHERE N.rownum=13.SQL脚本分析
3.1根据LOAN_TURN_ID,BILL_TIME分组得到重复的数据并根据INTEREST+OVERDUE_BALANCE倒序排序
3.2给每条数据一个伪列值依次为-1,1,-1,1,-1,1......
3.3可以看出来我们只要筛选N.rownum=1的就是我们需要的数据
1 0
- mysql查询重复数据并保留一条
- Oracle查询重复数据并删除,只保留一条记录
- Oracle查询重复数据并删除,只保留一条记录
- Oracle查询重复数据并删除,只保留一条记录
- Oracle查询重复数据并删除,只保留一条记录
- Oracle查询重复数据并删除,只保留一条记录
- Oracle查询重复数据并删除,只保留一条记录
- Oracle查询重复数据并删除,只保留一条记录
- Oracle查询重复数据并删除,只保留一条记录
- Oracle查询重复数据并删除,只保留一条记录
- 删除重复数据并只保留一条
- mysql删除重复数据只保留一条
- mysql 删除重复数据只保留一条
- mysql 删除重复数据只保留一条
- mysql 删除重复数据只保留一条
- mysql删除重复数据只保留一条
- 【mysql】删除重复数据只保留一条
- mysql去除重复数据,只保留一条。
- 网管的自我修养-信息系统
- CentOS 6、7下pptp vpn一键安装脚本
- ERROR ITMS-90168 MAC OSX 沙盒机制
- http和https80端口是为HTTP(HyperText Transport Protocol)即超文本传输协议开放的,此为上网冲浪使用次数最多的协议,主要用于WWW(World Wide Web
- 蓝桥杯基础练习 高精度加法
- mysql查询重复数据并保留一条
- G++和C++的区别(oj中)
- JDBC的工具类(简单实用,体现java封装特性)
- 安卓selinux权限修改(基于tiny4412开发板)
- lede 修改默认开启wifi 修改wan和lan口位置
- Unity 语音识别 详情版 和 发布过程中遇到的问题
- Spark 源代码 SparkContext
- linux虚拟机网络管理
- [android基础]《疯狂android讲义》重点整理(2)