我知道有很多答案使用rank()或row_number()表示,但是,SQL-FRONT或Navicat不支持它们,我尝试使用Microsoft SSMS,但它不支持我的sql。我尝试了很多方法,但是没有用。所以我现在无望了。
表如下所示,我只想知道如何删除具有相同名称和时间的重复记录。谢谢。
问题来源于stack overflow
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
使用EXISTS子句查找重复项。
delete from mytable where exists ( select * from mytable other where other.name = mytable.name and other.time = mytable.time and other.id < mytable.id ); 至于插入:在两列上放置唯一约束。通常使用唯一索引来完成此操作:
create unique index idx_unique_name_time on mytable (name, time);