概述
1. 创建表:
-- Create table
create table TEST_USER
(
user_id NUMBER(3),
user_name VARCHAR2(20),
user_age NUMBER(3)
)
tablespace GUAN_TABLESPACE
pctfree 10
initrans 1
maxtrans 255
storage
(
initial 64K
next 1M
minextents 1
maxextents unlimited
);
--测试数据
insert into TEST_USER (USER_ID, USER_NAME, USER_AGE)
values (1, '小明', 22);
insert into TEST_USER (USER_ID, USER_NAME, USER_AGE)
values (2, '小芳', 23);
insert into TEST_USER (USER_ID, USER_NAME, USER_AGE)
values (3, '小李', 19);
insert into TEST_USER (USER_ID, USER_NAME, USER_AGE)
values (4, '李四', 30);
insert into TEST_USER (USER_ID, USER_NAME, USER_AGE)
values (5, '小芳', 32);
insert into TEST_USER (USER_ID, USER_NAME, USER_AGE)
values (6, '小芳', 30);
2. 两种去重方法:
--方法1:
--常用的关键字:distinct
--缺点:只能应对单个字段去重,多个字段查询还是会有重复数据
select distinct t.user_name, t.user_age from TEST_USER t;
--方法2:
--思路:给重复的数据建立有序下标,然后只查询下标为:1的数据即可
select f.user_name, f.user_age
from (select t.*,
row_number() over(partition by user_name order by user_name) as group_idx
from TEST_USER t) f
where f.group_idx = 1;
方法1查询结果:
方法2查询结果:
最后
以上就是默默水池为你收集整理的oracle 数据去重方法的全部内容,希望文章能够帮你解决oracle 数据去重方法所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复