删除TSQL列中的重复项
想知道任何人都可以帮助我。 我有一个存储过程是这样的日期输出:删除TSQL列中的重复项
Year AccountName Certs MoreCerts
2015 Rosy 3650097 444455
2015 Rosy 3650097 5645665
2015 Rosy 3650097 4544
2015 Rosy 3650097 33423
2015 Rosy 3650097 232454
2014 Rosy 112379 6767878
2014 Rosy 112379 68878
2014 Rosy 112379 567
2014 Rosy 112379 567
2014 Rosy 112379 4567
2014 Rosy 112379 345667
2015 John 12000 23456
2015 John 12000 23345
2015 John 12000 2111
2015 John 12000 456
2014 John 50000 887
2014 John 50000 43432
2014 John 50000 2333
,我想有这样即从证证书列中删除重复值,而在表中保留一切,因为它是
Year AccountName Certs MoreCerts
2015 Rosy 3650097 444455
2015 Rosy 5645665
2015 Rosy 4544
2015 Rosy 33423
2015 Rosy 232454
2014 Rosy 112379 6767878
2014 Rosy 68878
2014 Rosy 567
2014 Rosy 567
2014 Rosy 4567
2014 Rosy 345667
2015 John 12000 23456
2015 John 23345
2015 John 2111
2015 John 456
2014 John 50000 887
2014 John 43432
2014 John 2333
尝试row_number和子选择等,但无法弄清楚。 任何帮助请问?
像这样的东西应该工作:
select
Year, AccountName, case when rownum=1 then Certs else '' end as Certs, MoreCerts
from (
select *, row_number() over (partition by Certs order by MoreCerts) [rownum]
from your_table
) x
order by x.Certs, rownum
根据您的资料,您不妨列添加到分区的和/或订单的ROW_NUMBER改变()。
我认为你需要在下面的行中将'Cert'转换为空。即当rownum = 1时,则CAST(Certs as varchar)else''结束,如同Certs – Sahi
完美!那正是我想要的。像魅力一样工作。非常感谢@Blorgbeard。上帝祝福你。 – user2718203
谢谢@Sahi它的工作 – user2718203
如何在此添加表格? – user2718203
你可以使用sql_fiddle –