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;

相关推荐
MAGICIAN...21 小时前
【Redis】--持久化机制
数据库·redis·缓存
我真的是大笨蛋21 小时前
JVM调优总结
java·jvm·数据库·redis·缓存·性能优化·系统架构
步步为营DotNet1 天前
5-2EFCore性能优化
数据库·性能优化·.net
2501_920047031 天前
Redis-集群
数据库·redis·bootstrap
半夏陌离1 天前
SQL 拓展指南:不同数据库差异对比(MySQL/Oracle/SQL Server 基础区别)
大数据·数据库·sql·mysql·oracle·数据库架构
旋转的油纸伞1 天前
SQL表一共有几种写入方式
数据库·sql
半夏陌离1 天前
SQL 入门指南:排序与分页查询(ORDER BY 多字段排序、LIMIT 分页实战)
java·前端·数据库
isyoungboy1 天前
SQL高效处理海量GPS轨迹数据:人员gps轨迹数据抽稀实战指南
数据库·sql
敬业小码哥1 天前
记一次:mysql的json及json数组使用组合使用
数据库·mysql·json
练小杰1 天前
【Mysql-installer-community-8.0.26.0】Mysql 社区版(8.0.26.0) 在Window 系统的默认安装配置
数据库·sql·mysql·adb·配置文件·mysql安装·关系型数据库