重覆記錄只取其一
左直拳有時侯會遇到需要過濾重覆記錄的情況。
所謂的重覆記錄,不一定就是完全相同的記錄,而更多是指一部分字段內容相同的記錄。
比如說,有乙個表記錄訪問日誌(log),結構如下:
字段型別
含義id
intpageid
int訪問頁面的id
ip字串
訪問者的ip位址
date
字串訪問者日期,如「2007-07-01
」要求統計頁面的訪問ip數量,相同的ip,日期相同,算乙個ip;日期不同,就算不同的ip。
無論是用group by date,ip 還是group by ip,date,都不正確。
最後是這樣寫:
select count(1)as ipnum from log as a
where not exists(
select 1 from log where ip=a.ip and date=a.date and id
)關鍵之處在於id,就是說ip相同、日期相同的記錄中,我只拿第一條,就是id最小的那一條。
有三千人溺水,我只挑其中乙個來嫖。
重覆記錄只取其一
重覆記錄只取其一 左直拳有時侯會遇到需要過濾重覆記錄的情況。所謂的重覆記錄,不一定就是完全相同的記錄,而更多是指一部分字段內容相同的記錄。比如說,有乙個表記錄訪問日誌 log 結構如下 字段型別 含義id intpageid int訪問頁面的id ip字串 訪問者的ip位址 date 字串訪問者日期...
sql 重覆記錄和重覆記錄數
如果table1有兩個column adress和pepole,那麼下面的sql可以找出table1裡的重覆記錄和重覆記錄數 create table table1 adress nvarchar 10 pepole nvarchar 10 insert table1 select 寧波 張三 nb...
SQL查詢重覆記錄,刪除重覆記錄
1 查詢表中多餘的重覆記錄,重覆記錄是根據單個字段 docid 來判斷 select from tablename where docid in select docid from tablename group by docid h ing count docid 1 例二 select from...