我有一个表格格式:
NAME__TELEPHONE__MONTH ___ YEAR
AAA ______ 2222 _________一月______ 2018
bbb ______ 2222________ _____________
aaa ______ 2222___________ ___________
在这里,我想检查重复的电话条目,并删除所有已填写月份和年份字段的条目。
由于我在加入查询方面不是很好,所以对任何帮助表示赞赏。我发现了类似的问题,但是使用它我无法保留已填写其他文件的问题。
如果有人可以提供帮助,请提前谢谢。
答案 0 :(得分:1)
我发现最好的答案不是删除,只是转移到其他表,更快,更不危险,像这样:
INSERT INTO tempTableName(id,name,telephone,month,year) SELECT DISTINCT id,姓名,电话,月份,年份 FROM tableName;
希望它有效!
答案 1 :(得分:0)
为什么不这样做?
y
答案 2 :(得分:0)
试试这个:
delete from table t
inner join
(select name,Telephone ,row_number() over (partition by name,Telephone order by month,year ) RN
from table
) temp
on t.name = temp.name and
t.Telephone = temp.Telephone
where RN > 1