Mysql 对重复数据筛选过滤

在日常开发工作中常会遇到要对数据库中的重复数据做筛选的操作需求,可以考虑使用排序函数(ROW_NUMBER())

第一种写法:row_number() over(partition by 一个或多个分组列 order by 一个或多个排序列 asc/desc) as 别名 //如果不写asc/desc的话,默认为asc

第二种写法:row_number() over(distribute by 一个或多个分组列 sort by 一个或多个排序列 asc/desc) as 别名

结合实际sql:

SELECT *

FROM (

SELECT *,

ROW_NUMBER() OVER (PARTITION BY ... ORDER BY ... DESC) AS row_num

FROM table

) t

WHERE row_num = 1;

相关推荐
徐子元竟然被占了!!5 小时前
Linux-systemctl
linux·数据库·oracle
YJlio7 小时前
Active Directory 工具学习笔记(10.8):AdInsight——保存与导出(证据留存、共享与二次分析)
数据库·笔记·学习
suoyue_zhan7 小时前
GBase的管理监控平台GEM实践指南
数据库
哈哈老师啊7 小时前
Springboot学生综合测评系统hxtne(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。
java·数据库·spring boot
小小8程序员7 小时前
Redis-10
数据库·redis·缓存
liuzhilongDBA8 小时前
从collation mismatch异常到其原理
数据库·version·glibc·postgres·collation
梁萌8 小时前
MySQL数据库分库分表介绍
数据库·mysql·shardingsphere·分库分表
占疏9 小时前
dify API访问工作流/聊天
开发语言·数据库·python
Cat God 00710 小时前
SQL使用及注意事项
数据库·sql·mysql