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;

相关推荐
oscar999几秒前
OpenCode终端界面
数据库·tui·opencode
两点王爷2 分钟前
使用命令行备份/还原docker运行的数据库 (MySQL、PostgreSQL)
mysql·docker·容器
m0_676544384 分钟前
MySQL数据库迁移后如何测试数据可读性_进行简单查询验证.txt
jvm·数据库·python
weixin_458580126 分钟前
C#怎么实现定时任务 C#如何用Timer和Quartz.NET创建定时执行的后台任务【技巧】
jvm·数据库·python
User_芊芊君子12 分钟前
从零入门!MySQL 约束、范式设计与联合查询核心精讲
数据库·人工智能·mysql
重生之我是Java开发战士12 分钟前
【MySQL】视图:简化查询、保障安全的虚拟表
数据库·mysql
qq_4135020218 分钟前
CSS解决浮动布局中最后一行对齐_配合伪类或容器处理
jvm·数据库·python
2301_8084143819 分钟前
MySQL的基础认识
数据库·mysql
djjdjdjdjjdj20 分钟前
Less如何优化CSS代码注释风格_利用Less特性保持规范.txt
jvm·数据库·python
m0_6028577620 分钟前
mysql如何编写递归存储过程_mysql max_sp_recursion_depth设置
jvm·数据库·python