select distinct clom_name from table_name --利用distinct对列clom_name去重
10余年的贺州网站建设经验,针对设计、前端、开发、售后、文案、推广等六对一服务,响应快,48小时及时工作处理。营销型网站的优势是能够根据用户设备显示端的尺寸不同,自动调整贺州建站的显示方式,使网站能够适用不同显示终端,在浏览器中调整网站的宽度,无论在任何一种浏览器上浏览网站,都能展现优雅布局与设计,从而大程度地提升浏览体验。成都创新互联从事“贺州网站设计”,“贺州网站推广”以来,每个客户项目都认真落实执行。
select clom_name from table_name a
where rowid =(select max(b.rowid) from table_name b where a.clom_name=b.clom_name);
--利用rowid唯一标识的特性对列clom_name 去重
给你举个例子:
比如a表有这样几条数据
id name
1 5
2 4
3 5
4 3
那么你要查询名字不同的 语句应该是
select distinc(a.name) from a
那么查询到的结果应该是 name 5 4 3
但是实际情况并不仅仅是这么简单
比如我想查询name 不重复的所有数据
你就应该用到 group by 分组
select distinct(a.name),a.id from a group by a.name
distinct 必须放在开头 而且在查询多个字段的时候需要跟上 group by 这样才能得到你想要的结果
1。用rowid方法
据据oracle带的rowid属性,进行判断,是否存在重复,语句如下:
查数据:
select * from table1 a where rowid
!=(select max(rowid)
from table1 b where a.name1=b.name1 and
a.name2=b.name2......)
删数据:
delete from table1 a where rowid
!=(select max(rowid)
from table1 b where a.name1=b.name1 and
a.name2=b.name2......)
2.group by方法
查数据:
select count(num), max(name) from student --列出重复的记录数,并列出他的name属性
group by num
having count(num) 1 --按num分组后找出表中num列重复,即出现次数大于一次
删数据:
delete from student
group by num
having count(num) 1
这样的话就把所有重复的都删除了。
3.用distinct方法 -对于小的表比较有用
create table table_new as select distinct *
from table1 minux
truncate table table1;
insert into table1 select * from table_new;
1 a
1 b
1 c
如上三行记录,你想要查询的结果是什么?