我在表格中有一些行具有相同的number
。
如何删除除一行之外的所有行?
我的意思是:
number
1 2
2 2
3 2
4 2
所以,我需要删除number = 2的所有行,但只留一行,例如:1 2
答案 0 :(得分:2)
delete t from t inner join t t2 on t2.number = t.number and t2.id < t.id
答案 1 :(得分:1)
您可以执行类似
的操作DELETE FROM your_table
WHERE (number2 = 2)
AND (number1 <> 1);
答案 2 :(得分:0)
这将删除除第1行以外的所有行
delete from table_name t1
where pk_col not in (select pk_col from table_name where number = t1.number limit 1)
假设
pk_col
=主键col
答案 3 :(得分:0)
delete from t where number=.. and pk > (select min(pk) from t)
答案 4 :(得分:0)
假设我们在表tb1中有2列:
ID Name
1 Akshay
2 Akshay
3 Akshay
在此我要删除除ID 2
之外的所有行所以我将把SQL语句编写为:
delete from tb1 where ID NOT LIKE 2
这将删除第二行以外的evey行。
希望这有帮助。