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;

相关推荐
晓华-warm6 分钟前
Warm-Flow 1.8.5 正式发布:超时自动审批、暂存功能来了!
数据库
u0136863821 小时前
将Python Web应用部署到服务器(Docker + Nginx)
jvm·数据库·python
light blue bird1 小时前
多页签Razor组支轴业务整顿组件
数据库·.net·ai大数据·多功能图表报表·web mvc + razor
wregjru1 小时前
【mysql】2.数据表操作
数据库·mysql
手握风云-1 小时前
基于 Java 的网页聊天室(三)
服务器·前端·数据库
LcVong2 小时前
MySQL 5.2/5.7 开启Binlog日志详细步骤(附验证+查看+恢复)
数据库·mysql·adb
FL4m3Y4n2 小时前
MySQL缓存策略
数据库·mysql·缓存
wsx_iot2 小时前
TDengine学习
数据库·学习·tdengine
不吃香菜的小趴菜2 小时前
mysql数据库打包与导入
数据库·mysql
野犬寒鸦2 小时前
Redis复习记录day1
服务器·开发语言·数据库·redis·缓存