在Oracle中,可以使用ROW_NUMBER()
窗口函数实现去重,以下是一个简单的示例:
1、创建一个包含重复数据的表:
CREATE TABLE test_table ( id NUMBER, name VARCHAR2(50) ); INSERT INTO test_table (id, name) VALUES (1, '张三'); INSERT INTO test_table (id, name) VALUES (2, '李四'); INSERT INTO test_table (id, name) VALUES (3, '王五'); INSERT INTO test_table (id, name) VALUES (4, '赵六'); INSERT INTO test_table (id, name) VALUES (5, '张三');
2、使用ROW_NUMBER()
窗口函数对数据进行去重:
SELECT id, name FROM ( SELECT id, name, ROW_NUMBER() OVER (PARTITION BY name ORDER BY id) AS row_num FROM test_table ) t WHERE row_num = 1;
在这个示例中,我们首先创建了一个名为test_table
的表,并插入了一些重复的数据,我们使用ROW_NUMBER()
窗口函数对数据进行去重。PARTITION BY
子句用于指定按照哪个字段进行分组,ORDER BY
子句用于指定分组内的排序规则,我们通过筛选出row_num = 1
的记录来实现去重。
最新评论
本站CDN与莫名CDN同款、亚太CDN、速度还不错,值得推荐。
感谢推荐我们公司产品、有什么活动会第一时间公布!
我在用这类站群服务器、还可以. 用很多年了。