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;

相关推荐
xnuscd1 小时前
Milvus概念
数据库·学习·mysql
代码欢乐豆2 小时前
软件工程第13章小测
服务器·前端·数据库·软件工程
小gpt&3 小时前
实现qt拖拽显示或者播放
数据库·qt·音视频
云边的快乐猫3 小时前
navicat远程连接虚拟机centos系统的mysql
linux·mysql·centos·虚拟机·navicat
望获linux3 小时前
在 ARM 平台上如何实现Linux系统的1秒启动
linux·服务器·开发语言·数据库·操作系统·嵌入式操作系统·arm平台
漫天转悠3 小时前
MySQL 七种JOIN连接详解
数据库·mysql
尘浮生3 小时前
Java项目实战II基于Java+Spring Boot+MySQL的智能停车计费系统(开发文档+数据库+源码)
java·开发语言·数据库·spring boot·mysql·微信小程序·maven
quintin-lee3 小时前
PostgreSQL中的内存上下文管理
数据库·postgresql
东阳马生架构3 小时前
MySQL原理简介—9.MySQL索引原理
mysql
jlting1953 小时前
《Linux中软件的两种安装方式》详细步骤
大数据·mysql