我被一个问题卡住了。我想删除表中连续的重复记录,
I,e,在下表中我想计算没有连续重复的总成本。
类似地,行3应该被移除,因为它与行2连续重复,因为所有3列数据是相同的。
第二组的情况也是如此,第7行应该删除,因为它是第6行的重复。
最后的总成本应该是10。
如何在SSMS中执行此操作?
| 索赔编号|索赔行|费用|
| - ------|- ------|- ------|
| 分子量为1616878951|第二章|十个|
| 分子量为1616878951|第二章|-10|
| 分子量为1616878951|第二章|-10|
| 分子量为1616878951|三个|十个|
| 分子量为1616878951|三个|-10|
| 分子量为1616878951|三个|十个|
| 分子量为1616878951|三个|十个|
我搜索这个问题,并尝试领先和滞后关键字,但没有工作。
1条答案
按热度按时间wnavrhmk1#
我为你的问题准备了一个例子,它可能是解决方案。
我使用CTE、ROW_NUMBER和IIF表达式生成row_number并过滤重复行。
准备示例数据:
查询脚本:
cte第一部分:为示例数据生成row_numbers。如果您有一个日期列,您可以使用它来代替。
cte第二部分:使用IIF表达式按ClaimID、ClaimLine和Cost查找和过滤重复行
结果是:
| 索赔编号|索赔行|费用|行号|是否重复|
| - ------| - ------| - ------| - ------| - ------|
| 分子量为1616878951|第二章|十个|1个|无|
| 分子量为1616878951|第二章|-10|第二章|无|
| 分子量为1616878951|三个|十个|四个|无|
| 分子量为1616878951|三个|-10|五个|无|
| 分子量为1616878951|三个|十个|六个|无|