开发者社区> 问答> 正文

T-SQL从组中删除重复项但未从每个组中获得前1名

我有以下几行:

| Code | Type | SubType |    Date    |
|:----:|:----:|:-------:|:----------:|
|  100 |  10  |    1    | 17.12.2019 |
|  100 |  10  |    2    | 18.12.2019 |
|  100 |  10  |    2    | 19.12.2019 |
|  100 |  10  |    1    | 20.12.2019 |

我需要的是让基于行组Code,Type和SubType列。但是,不仅我应该保持Date列,但我必须删除重复的行(根据Code,Type并SubType从那些在中间如下组列):

| Code | Type | SubType |    Date    |
|:----:|:----:|:-------:|:----------:|
|  100 |  10  |    1    | 17.12.2019 |
|  100 |  10  |    2    | 18.12.2019 |
|  100 |  10  |    1    | 20.12.2019 |

让我详细解释导致这种情况的情况,因此,在显示给最终用户之前,我需要清除数据。我有具有4列的历史表(Code,Type,SubType和Date)。该表的每一行都显示在特定日期该行的字段值发生的更改。例如,在上面的示例中,该行在4个不同的日期进行了4次更改。起初,一直与产生该行Code = 100,Type = 10并SubType = 1在17.12.2019。然后,SubType已改为2在18.12.2019。第二天,位于19.12.2019,SubType已再次更改为2(对于我来说是重复的)。最后,SubType已再次更改1为20.12.2019。实际上,我不需要显示第三次更改,因为在我的情况下它是重复的。

我尝试使用Row_Number()Over(Partition by Code, Type and SubType Order By Date),但未成功。

展开
收起
心有灵_夕 2019-12-22 15:22:35 585 0
0 条回答
写回答
取消 提交回答
问答标签:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
SQL Server 2017 立即下载
GeoMesa on Spark SQL 立即下载
原生SQL on Hadoop引擎- Apache HAWQ 2.x最新技术解密malili 立即下载