筆記 刪除表中重複資料的sql

2021-08-29 21:09:20 字數 861 閱讀 3547

主要是要理解group by 語句的作用。

group by 語句用來對行資料進行分組,故,需要查詢的列必須都被包含在分組的列中,可少不可多。

如下刪除表 t_temp中與content列重複的資料:

思路是先找出不需刪除的id,然後外面套用乙個not in 語句進行刪除。

不需刪除的id,使用group by 語句。

create table t_temp(uno integer  not null unique, content varchar2(6));

select * from t_temp;

uno content

---------- ------------

1 a2 a

3 b4 b

5 b6 d

7 d8 d

9 e已選擇9行。

select min(uno),content

from t_temp

group by content;

min(uno) content

---------- ------------

1 a3 b

6 d9 e

delete from t_temp

where uno not in(

select min(uno)

from t_temp

group by content

);已刪除5行。

select * from t_temp;

uno content

---------- ------------

1 a3 b

6 d9 e

刪除表中重複資料

刪除表中重複資料 取出line fancy2表中fancy name相同的最小fancy id 寫進tmp表 create table tmp as select min fancy id as col1 from line fancy2 group by fancy name 刪除line fan...

刪除表中重複資料

如果重複資料很多,被刪掉的可能是大部分記錄,業務又允許的情況下,可以考慮重建表 create table newtable as select distinct from table rename table to oldtable rename newtable to table create i...

sql刪除重複資料

1 建立表 create table dbo test id numeric 18,0 identity 1,1 not null primary key,name varchar 200 collate chinese prc ci as null remark varchar 1024 coll...