oracle 去重

Oracle去重

在Oracle中进行去重的SQL语句有以下几种:

1.使用DISTINCT关键字

使用SELECT DISTINCT列名 FROM 表名来选择唯一的值。例如:SELECT DISTINCT column_name FROM table_name;

2.使用GROUP BY子句

使用GROUP BY子句将重复的值分组,并使用聚合函数如COUNT、SUM等对每个组进行操作。例如:SELECT column_name, COUNT(*) FROM table_name GROUP BY column_name;

3.使用ROW_NUMBER函数

使用ROW_NUMBER函数为每行数据分配一个唯一的行号,然后通过筛选行号为1的数据来实现去重。例如:SELECT column_name FROM (SELECT column_name, ROW_NUMBER() OVER (PARTITION BY column_name ORDER BY column_name) AS row_num FROM table_name) WHERE row_num = 1;

4.使用EXISTS子查询

通过在子查询中使用EXISTS关键字来检查是否存在重复的记录,并筛选出唯一的值。例如:SELECT column_name FROM table_name t1 WHERE EXISTS (SELECT 1 FROM table_name t2 WHERE t1.column_name = t2.column_name AND t1.rowid <> t2.rowid);

5. 使用with result

通过在查询中使用 with result 来检查是否存在重复的记录,并筛选出唯一的值。

例如:with result as ( select * from ( select t1.*, ROW_NUMBER() OVER (PARTITION BY column_name ORDER BY column_name desc) RN from table_name t1 ) t2 where t2.RN = 1)

SELECT * FROM RESULT

相关推荐
加勒比之杰克9 分钟前
【数据库初阶】MySQL数据类型
linux·数据库·mysql·数据类型·varchar
Libby博仙12 分钟前
asp.net core webapi中的数据注解与数据验证
数据库·asp.net·.netcore
网络安全成叔24 分钟前
【整理集合大全】MySQL(4) 数据库增删改查SQL语句
网络·数据库·sql·mysql·web安全·网络安全
雪芽蓝域zzs1 小时前
MySQL(六)MySQL 案例
数据库·mysql·oracle
yuanbenshidiaos1 小时前
QT-------------多线程
数据结构·数据库·qt
亦世凡华、1 小时前
从CRUD到高级功能:EF Core在.NET Core中全面应用(一)
数据库·经验分享·.netcore·ef core
XiangHua.Ma2 小时前
Redis 入门与实战指南
数据库·redis·缓存
皮克斯的进化之路2 小时前
Redis知识总结
数据库·redis·缓存
老大白菜2 小时前
MongoDB基本操作
数据库·mongodb
小小小妮子~3 小时前
深入解读MVCC中的三大日志:Undo Log、Redo Log和B-Log
服务器·数据库·oracle·日志