怎么在数据库中不显示重复列数

怎么在数据库中不显示重复列数,第1张

打开Management Studio软件,连接服务器上的数据

2

/5

新建一个查询窗口

3

/5

在查询窗口中输入SQL Select 查询语句,查询表数据

4

/5

在步骤3中可以看到有很多重复的数据,可以使用SELECT DISTINCT 语句来对重复值进行过滤只保留唯一值

5

/5

执行后数据库就已经自动的过滤掉了重复值,只保留唯一值

1、创建测试表,

create table test_dis(id number, name varchar2(20), value number(10))

2、插入测试数据

insert into test_dis values(1,'a',123)

insert into test_dis values(2,'b',152)

insert into test_dis values(3,'c',123)

insert into test_dis values(4,'d',520)

insert into test_dis values(5,'e',300)

commit

3、查询表中全量数据,select t.*, rowid from test_dis t

4、编写sql,查询表中某一字段不重复的所有数据,可以发现只有id为2,4,5的记录查询出。

 select * from test_dis t where value in (select value from test_dis group by value having count(*)=1)

SQL数据重复分几种情况,一种是原数据重复,第二种是粒度重复,第三种是分布重复。

原数据重复的情况,你直接可以distinct掉,例如,学生表当中有两个重复的学号,你想取出不重复的,直接可以写:select

distinct

学号

from

学生表

第二种是查询粒度重复,比如你有一张表是存储区域的,分别为省、市、县三列。而你需要的是只查找不同的省市,则也可以使用distinct:select

distinct

省,市

from

区域

第三种则是分布重复,比如在join

的时候,左右两个表格存在一对多的关系,造成的重复,或者在聚合之后出现了维度重复,则这种相对来说比较麻烦,你需要在子查询中统计或查找出唯一值,然后再去关联,或者是按照一定的数据需求的取数规则,在查询结果后再进行聚合,取到唯一值。

不过不管怎么样,都是要看实际需求是什么样子的。大多可以用子查询和关联联合解决。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/10002729.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-04
下一篇 2023-05-04

发表评论

登录后才能评论

评论列表(0条)

保存