在MSSQL表中我有3列。我有多个KeptValue
s重复。我需要删除所有重复项并保留1.但是我需要保留花费最多的那个。
我创建了2个视图。重复保存的值列表VW_DUPLICATE1
。删除MSSQL中的重复项
1
A
回答
-1
您可以通过废
2
delete t1
from your_table t1
left join
(
select keptvalue, max(spent) as mSpent
from your_table
group by keptvalue
) t2 on t1.keptvalue = t2.keptvalue and t1.spent = t2.mSpent
where t2.mSpent is null
+2
id在组中没有提及它抛出错误“Column'id'在选择列表中无效,因为它不包含在聚合函数或GROUP BY子句中” – bvr
+0
@bvr:当然。我错过了。谢谢。 –
0
您可以使用此查询的具体KepValue
删除保持最高SPENT
做group by
KeptValue和max
合计实现这一目标。
DELETE FROM your_table WHERE SPENT < (SELECT MAX(SPENT) FROM your_table WHERE KeptValue='your_value') AND KeptValue='your_value'
0
试试这个
DELETE FROM tbl WHERE Id IN (
SELECT Id FROM (
SELECT
Id
,ROW_NUMBER() OVER (PARTITION BY KeptValue ORDER BY SPENT DESC) AS [ItemNumber]
FROM
tbl
) a WHERE ItemNumber > 1
)
+0
@Julian Michael Mostert试试这个给你的req输出 –
0
试试这个
Create table #temp (ID int, KeptValue NVARCHAR(20) , SPENT numeric(18,3))
INSERT INTO #temp select 1,'KeptValue1', 20
INSERT INTO #temp select 2,'KeptValue1', 21
INSERT INTO #temp select 3,'KeptValue2', 22
INSERT INTO #temp select 4,'KeptValue2', 20
INSERT INTO #temp select 5,'KeptValue2', 20
INSERT INTO #temp select 6,'KeptValue3', 20
INSERT INTO #temp select 7,'KeptValue3', 23
INSERT INTO #temp select 8,'KeptValue3', 24
INSERT INTO #temp select 9,'KeptValue4', 28
INSERT INTO #temp select 10,'KeptValue4', 23
INSERT INTO #temp select 11,'KeptValue5', 24
INSERT INTO #temp select 12,'KeptValue6', 28
select * FROM #temp
DELETE
FROM #temp
WHERE ID
in(
select ID from
(SELECT Id, (ROW_NUMBER() OVER(PARTITION BY KeptValue order by SPENT desc)) as R
from #temp
) as RowsNm
WHERE R >1)
select * from #temp
drop table #temp
相关问题
- 1. 删除Python中的重复项Pandas DataFrame不删除重复项
- 2. 删除重复项
- 3. 删除重复项
- 4. 删除不重复的重复项
- 5. 从React项目中删除重复项
- 6. 删除重复项excel vba
- 7. BIRT DataSet删除重复项
- 8. 删除重复项帮助
- 9. 删除重复项用C
- 10. 删除重复数组项
- 11. 识别,删除重复项
- 12. array_unique不删除重复项
- 13. LinkedList:删除重复项
- 14. Python删除重复项。
- 15. 删除重复项RecursiveIteratorIterator
- 16. 如何删除重复项?
- 17. 删除重复项Quickperm
- 18. phpmyadmin - 删除重复项目
- 19. 如何删除MySql中的重复项?
- 20. 删除阵列中的重复项
- 21. SQL删除组合中的重复项
- 22. 删除列表中的重复项目
- 23. 删除NSdictionary中的重复项
- 24. 删除Json文件中的重复项
- 25. 删除数组中的重复项(C++)
- 26. 删除集合中的重复项
- 27. 删除阵列中的重复项(C++)
- 28. 删除Haskell列表中的重复项
- 29. php删除数组中的重复项
- 30. 删除数组中的重复项
为什么downvote? – Alicia
我认为他的意思是删除重复,而不是通过使用“Group By”忽略它们。 –
谢谢,是的,也许我没有说清楚。很高兴知道你为什么得到一个downvote,所以你可以学习下一次! – Alicia