select distinct clom_name from table_name --利用distinct對列clom_name去重
10余年的賀州網(wǎng)站建設(shè)經(jīng)驗(yàn),針對設(shè)計(jì)、前端、開發(fā)、售后、文案、推廣等六對一服務(wù),響應(yīng)快,48小時(shí)及時(shí)工作處理。營銷型網(wǎng)站的優(yōu)勢是能夠根據(jù)用戶設(shè)備顯示端的尺寸不同,自動(dòng)調(diào)整賀州建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調(diào)整網(wǎng)站的寬度,無論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設(shè)計(jì),從而大程度地提升瀏覽體驗(yàn)。成都創(chuàng)新互聯(lián)從事“賀州網(wǎng)站設(shè)計(jì)”,“賀州網(wǎng)站推廣”以來,每個(gè)客戶項(xiàng)目都認(rèn)真落實(shí)執(zhí)行。
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唯一標(biāo)識的特性對列clom_name 去重
給你舉個(gè)例子:
比如a表有這樣幾條數(shù)據(jù)
id name
1 5
2 4
3 5
4 3
那么你要查詢名字不同的 語句應(yīng)該是
select distinc(a.name) from a
那么查詢到的結(jié)果應(yīng)該是 name 5 4 3
但是實(shí)際情況并不僅僅是這么簡單
比如我想查詢name 不重復(fù)的所有數(shù)據(jù)
你就應(yīng)該用到 group by 分組
select distinct(a.name),a.id from a group by a.name
distinct 必須放在開頭 而且在查詢多個(gè)字段的時(shí)候需要跟上 group by 這樣才能得到你想要的結(jié)果
1。用rowid方法
據(jù)據(jù)oracle帶的rowid屬性,進(jìn)行判斷,是否存在重復(fù),語句如下:
查數(shù)據(jù):
select * from table1 a where rowid
!=(select max(rowid)
from table1 b where a.name1=b.name1 and
a.name2=b.name2......)
刪數(shù)據(jù):
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方法
查數(shù)據(jù):
select count(num), max(name) from student --列出重復(fù)的記錄數(shù),并列出他的name屬性
group by num
having count(num) 1 --按num分組后找出表中num列重復(fù),即出現(xiàn)次數(shù)大于一次
刪數(shù)據(jù):
delete from student
group by num
having count(num) 1
這樣的話就把所有重復(fù)的都刪除了。
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
如上三行記錄,你想要查詢的結(jié)果是什么?