1. 程式人生 > >重複記錄只顯示一條的問題 SQL重複…

重複記錄只顯示一條的問題 SQL重複…

SQL重複記錄處理(查詢,過濾,刪除)

注:此處“重複”非完全重複,意為某欄位資料重複

HZT表結構

ID int

Title nvarchar(50)

AddDate datetime

資料

ID Title AddDate
1 我本有心1 2008-01-17 10:27:24.827
2 我本有心1 2008-03-17 10:27:21.780
3 我本有心2 2008-05-17 10:27:30.420
4 我本有心2 2008-09-17 10:27:30.420
5 我本有心3 2008-01-20 10:27:30.420
6 我本有心3 2008-01-15 10:27:30.420
7 QQ:381584252 2008-01-19 10:27:30.420
8 QQ:381584252 2008-01-18 10:27:30.420
9 Email:[email protected] 2001-01-17 10:27:30.420
10 Email:[email protected] 2009-01-17 10:27:30.420
11 HZT 2005-01-17 10:27:30.420
12 1314521 2006-01-17 10:27:30.420
13 LoveCY 2007-01-17 10:27:30.420
14 19861108 2008-03-17 10:27:30.420
15 CY 2008-02-17 10:27:30.420
方法一:

wx_termid為重複欄位

select DISTINCT wx_termid from tablename where id=1

方法二:

一。查詢重複記錄

1。查詢全部重複記錄

Select * From 表 Where 重複欄位 In (Select 重複欄位 From 表 Group By 重複欄位 Having Count(*)>1)

2。過濾重複記錄(只顯示一條)

Select * From HZT Where ID In (Select Max(ID) From HZT Group By Title)

注:此處顯示ID最大一條記錄

二。刪除重複記錄

1。刪除全部重複記錄(慎用)

Delete 表 Where 重複欄位 In (Select 重複欄位 From 表 Group By 重複欄位 Having Count(*)>1)

2。保留一條(這個應該是大多數人所需要的 ^_^)

Delete HZT Where ID Not In (Select Max(ID) From HZT Group By Title)

注:此處保留ID最大一條記錄

相關推薦

重複記錄顯示的問題 SQL重複

SQL重複記錄處理(查詢,過濾,刪除) 注:此處“重複”非完全重複,意為某欄位資料重複 HZT表結構 ID int Title nvarchar(50) AddDate datetime 資料 ID Title AddDate 1 我本有心1 2008-01-17 10:27:24.827 2

mysql刪除重複記錄保留句簡單sql

案例: 目的:根據name和class分組,將ceshi表中相同的資料刪除只保留id最小的那一條。 sql語句如下: DELETE FROM ceshi WHERE id NOT IN (SE

sql 去除重複記錄

sql 去除重複只取一條 SELECT * FROM tbl_auth_session  a where id = (SELECT id from tbl_auth_session where a.account_id = account_id ORDER BY crea

Oracle刪除重複記錄保留資料的幾種方法

1、查詢表中多餘的重複記錄,重複記錄是根據單個欄位(peopleId)來判斷 SELECT * FROM people WHERE peopleid IN ( SELECT peopleid FROM people GROUP BY peopleid

oracle 一個表多重複記錄的解決方法

A  表:  id     name 1      張三 2      李四 B    表:   id  為  A  表 主鍵 id    name 1     王五 1      小李 1     王八 2     趙四 2     李五

oracle 刪除重複記錄 保留

在對資料庫進行操作過程中我們可能會遇到這種情況,表中的資料可能重複出現,使我們對資料庫的操作過程中帶來很多的不便,那麼怎麼刪除這些重複沒有用的資料呢?   重複資料刪除技術可以提供更大的備份容量,實現更長時間的資料保留,還能實現備份資料的持續驗證,提高資料恢復服務水平,

關於SQL中查詢重複欄位顯示記錄

select  需要查詢重複資料的列名 from 表名 group by 需要查詢重複資料的列名 例如  查詢學校中學生所在的系 select  department from student g

使用sql語句,刪除表中的重複記錄

一個表,表1,ref(唯一值),type(有重複)如何去掉重複記錄。 建表sql語句: -- ---------------------------- -- Table structure for `deletechongfu` -- -------------------

SQL語句,刪除掉重複保留

用SQL語句,刪除掉重複項只保留一條 在幾千條記錄裡,存在著些相同的記錄,如何能用SQL語句,刪除掉重複的呢 1、查詢表中多餘的重複記錄,重複記錄是根據單個欄位(peopleId)來判斷  select * from people  where peopleId in (s

SQL針對單列刪除重複資料保留id最大的資料

delete from t_student  where id in ( SELECT id from (SELECT * from t_student  where  name in (select name  from t_student where  name i

mysql查詢重複資料保留記錄

比如我直接select * from movie where name="功夫";有三條資料,但我只希望拿到其中任意一條就行了。可以使用group by 分組因為name是一樣的,所以分組也就是隻有一組

關於SQL刪除重複資料保留

3、查詢表中多餘的重複記錄(多個欄位) select * from vitae a where (a.peopleId,a.seq) in (select peopleId,seq from vitae group by peopleId,seq having count(*) > 1) 4、刪除

SQL語句--刪除掉重複保留

用SQL語句,刪除掉重複項只保留一條在幾千條記錄裡,存在著些相同的記錄,如何能用SQL語句,刪除掉重複的呢1、查詢表中多餘的重複記錄,重複記錄是根據單個欄位(peopleId)來判斷 select * from people where peopleId in (select peopleId from pe

mysql sql 語句 查詢重複資料 並刪除重複資料 保留

**#例1:根據手機號customer_id查詢所有重複的資料** SELECT * FROM aad_apply_main WHERE customer_id IN (

SQL刪除重複資料保留

在幾千條記錄裡,存在著些相同的記錄,如何能用SQL語句,刪除掉重複的呢1、查詢表中多餘的重複記錄,重複記錄是根據單個欄位(peopleId)來判斷 select * from people where peopleId in (select peopleId from people group by peo

Oracle資料重複

--方法一 select * from tb_supply where rowid=any(select max(rowid) from tb_supply group by phone_id) --方法二 select * from tb_supply where rowid in (selec

Oracle 刪除重複資料

查詢及刪除重複記錄的SQL語句 1、查詢表中多餘的重複記錄,重複記錄是根據單個欄位(Id)來判斷 select * from 表 where Id in (select Id from 表 group byId having count(Id) > 1) 2、刪除

MySQL中刪除重複資料保留

用SQL語句,刪除掉重複項只保留一條 在幾千條記錄裡,存在著些相同的記錄,如何能用SQL語句,刪除掉重複的呢  1、查詢表中多餘的重複記錄,重複記錄是根據單個欄位(peopleId)來判斷 SELECT * FROM people WHERE pe

解決mysql資料重複問題-保留資料

<pre name="code" class="html">1.sql語句,原理使用臨時表法,效率比較低 delete FROM `source` WHERE is_deleted=0 AND (student_id,score_id

oracle 資料重複

oracle中重複記錄只取其中一條 select * from table1 where rowid=any(select max(rowid) from table1 group by field1