sql - MSSQL 查询从表中删除重复行,在表中留下不同的行

标签 sql sql-server sql-server-2008

我需要从具有相同 customer_id 的表 Log删除除第一次出现的相似行之外的所有重复行停用日期。如何用最少的 sql 语句来实现这一点。

我正在使用 MS SQL Server 2008 Express 版本。

最佳答案

类似于:

DELETE FROM Log WHERE LogId NOT IN 
 (SELECT Min(LogId) FROM Log GROUP BY customer_id, deactivation_date)

关于sql - MSSQL 查询从表中删除重复行,在表中留下不同的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10346408/

相关文章:

sql-server - 使用 sp_addlinkedserver 添加服务器

sql-server - FOR JSON PATH结果导致SSMS被截断为2033个字符

java - 如何将用户定义的表类型传递给来自 Java 的 MSSQL 请求

mysql - 查询没有像预期的那样工作

mysql - sql : not able to find the view (WITH statement)

sql-server - 使用 Microsoft 同步框架 2.1 更新架构更改

sql-server - 如何 LTRIM/RTRIM 特定字符?

sql-server - 在为数据库的文件/文件组分配空间后,如何分配磁盘空间

c# - 从 C# 调用存储过程时出错

SQL:如何从大型连续矩阵中选择矩形范围内的元素? **更新**