SQL Server分区顺序-即使行相同,也没有tie DenseRank值
这个问题最好用图片和我目前的剧本来解释。。。我如何才能提取一个完整的一行每分配,最低排名,如果有2行的denserank为1,然后选择其中之一SQL Server分区顺序-即使行相同,也没有tie DenseRank值,sql,sql-server,partition,Sql,Sql Server,Partition,这个问题最好用图片和我目前的剧本来解释。。。我如何才能提取一个完整的一行每分配,最低排名,如果有2行的denserank为1,然后选择其中之一 select * ,Dense_RANK() over (partition by [Assignment] order by [Text] desc) as [DenseRank] from [dbo].[CLEANSED_T3B_Step1_Res_Withdups____CP] select * from ( select * ,De
select *
,Dense_RANK() over (partition by [Assignment] order by [Text] desc) as
[DenseRank]
from [dbo].[CLEANSED_T3B_Step1_Res_Withdups____CP]
select * from
(
select *
,Dense_RANK() over (partition by [Assignment] order by [Text] desc, NewID()
) as [DenseRank] from [dbo].[CLEANSED_T3B_Step1_Res_Withdups____CP]
) as A
where A.[DenseRank] = 1
第二个脚本工作得很好
SELECT * INTO
[dbo].[CLEANSED_T3B_Step1_COMPLETED]
from
(
select *
,Dense_RANK() over (partition by [Assignment] order by
left([Text],1) desc , [Diff_Doc_Clearing_Date] desc , [Amount] asc
as [DenseRank]
from [dbo].[CLEANSED_T3B_Step1_Res_Withdups____CP]
)
as A
where A.[DenseRank] = 1
不再需要一个随机的第一个并列的“第一名”,现在需要得到一个与最高的日差异,然后也是最高金额后。因此,我们已经修改了第3版中的所有内容。似乎您不想使用密集的秩,而是行数
由“newid”作为“平局破坏者”订购
Order by [Text],Newid()
从select*中选择*,按[Assignment]顺序按[Text]desc在分区上密集排列,NewID作为[dbo]中的[DenseRank]。[Cleaned_T3B_Step1_Res_Withdups_uuuuuuuCP]作为其中的[DenseRank]=1,我现在正在尝试使用您的方法,因为我不能再使用随机NewID在排列中占据任何“并列”的第一位。我需要取[Diff_Doc_Clearing_Date]最高的1。你好,詹姆斯
Order by [Text],Newid()