SQL語句怎樣查詢並刪除單個欄位下的所有重複值,重複的記錄只保留

時間 2021-10-14 22:23:54

1樓:張愛民_浦東

需要一個主鍵 id

如果是要刪除是姓名重複的話,試試以下**

delete ta where id not in

( select max(id) from group by nch )

如果要顯示不重複項的資料

select * from ta where id in

( select max(id) from group by 姓名 )

如果 nch 這個地段,你需要不重複 , 事實上就可以把這一列作為主鍵

另外,你在新增資訊的時候,做下判斷,如果該列中已有,就不執行新增的**。

並做提示資訊。

2樓:

受教了,我也正好遇到這個問題

oracle某個欄位有重複資料,如何刪除多餘資料只保留1條

3樓:匿名使用者

1、查詢表中多餘的重複記錄,重複記錄是根據單個欄位(peopleid)來判斷。

2、刪除表中多餘的重複記錄,重複記錄是根據單個欄位(peopleid)來判斷,只留有rowid最小的記錄。

3、查詢表中多餘的重複記錄(多個欄位)。

4、刪除表中多餘的重複記錄(多個欄位),只留有rowid最小的記錄。

5、查詢表中多餘的重複記錄(多個欄位),不包含rowid最小的記錄。就完成了。

4樓:匿名使用者

不能直接選出來刪,直接delete會把所有重複的id全部幹掉

create table *** as

select distinct id、name、dianhua、dizhi from z

5樓:匿名使用者

delete from z t where t.rowid not in (select min(rowid) from z t1 where t1.id=t.

id group by id)

sql 多個欄位內容出現相同,就進行刪除只保留一條記錄

6樓:匿名使用者

這個可以用group by 加上min函式來實現,具體如下insert into table b

select min(tel),name,adfrom a

group by name,ad

b表的id要是自增主健,在插入時自動賦值

7樓:匿名使用者

表弄個這倆欄位unique索引,後續不就不能插入了,這樣就好了吧

mssql刪除單個欄位重複的記錄(只保留一條即可)

8樓:匿名使用者

假設id是裡面的主鍵

delete from buyitem where id not in

(select max(id) from buyitem group by charname);

sql查詢資料庫,某個欄位不同,其他相同,只保留一個記錄。具體看問題補充

9樓:

可以這樣寫

select distinct id , name , max(yy) from a

group by id , name

取id和name相同的最大yy,這樣就只保留一條記錄。

10樓:匿名使用者

select id,name,max(yy)

from 表

group by id,name

11樓:匿名使用者

select distinct t.id,t.name,t.

yy fromm tablename t,tablename t1 where t.yy<>t1.yy and t.

id = t1.id and t.name = t1.

name

sql根據某一個欄位重複只取第一條資料

12樓:

使用分析函式row_number() over (partiion by ... order by ...)來進行分組編號,然後取分組標號值為1的記錄即可。

目前主流的資料庫都有支援分析函式,很好用。

其中,partition by 是指定按哪些欄位進行分組,這些欄位值相同的記錄將在一起編號;order by則是指定在同一組中進行編號時是按照怎樣的順序。

示例(sql server 2005或以上適用):

select s.*

from (

select *, row_number() over (partition by [手機號] order by [店鋪]) as group_idx

from table_name

) swhere s.group_idx = 1

13樓:匿名使用者

用group by 最後一個欄位 用個max()

14樓:發生等將發生

如果僅僅只是查詢出來去從,那麼就用distinctselect distinct 需要去重的列明(允許多列) from table

如果是需要在表中刪除,可以這樣處理

1、建立臨時表,將重複記錄查詢出來去重插入到臨時表2、刪除實表中的重複記錄

3、將臨時表中的記錄插入到實表

處理完成

15樓:匿名使用者

select * into ##tmp_table from 表where 1=2

declare @phoneno int

declare cur cursor forselect 手機號 from 表 group by 手機號open cur

fetch next from cur into @phonenowhile @@fetch_status=0begin

insert into ##tmp_tableselect top 1 from 表 where 手機號=@phoneno

fetch next from cur into @phonenoendselect * from ##tmp_tabledrop table ##tmp_table

16樓:匿名使用者

最簡單的 select distinct (手機號)

17樓:老漢肆

select

temp.id,

temp.device_id,

temp.update_dtm,

temp.test_result

from (

select

t.id,

t.device_id,

t.update_dtm,

t.test_result,

row_number() over(partition by device_id order by t.update_dtm desc) as row_***

from device_info_tbl t ) tempwhere temp.row_*** = '1'

sql查詢語句 多重查詢,SQL查詢語句,怎樣查詢重複資料

select count num,systemfrom site visitmessagewhere visit time 2009 07 17 03 20 22 and visit time 2009 07 27 03 20 22 order by num desc select system,c...

sql 查詢怎麼統計多個欄位各自的個數

所有算的地方都用cast 個數 as int create table test05 a varchar 10 b varchar 10 c varchar 10 insert into test05 select 一 三 union all select 一 三 union all select ...

sql用update語句一次更新多個欄位應該怎麼寫

小圳軍 update 表名 set 欄位1,欄位2,欄位3,select 數值1,數值2,數值3,where 條件 多個欄位可以使用逗號隔開,每一個 欄位名 值 就是賦值,其後的where 條件語句可加可不加。拓展資料 結構化查詢語言 structured query language 簡稱sql ...