Tsql SQL基于次要-主要方案选择最大值
我正在尝试创建一个查询,该查询将选择一个不同的行,使用修订次要/主要方案进行选择。下面是一个示例表:Tsql SQL基于次要-主要方案选择最大值,tsql,max,Tsql,Max,我正在尝试创建一个查询,该查询将选择一个不同的行,使用修订次要/主要方案进行选择。下面是一个示例表: Serial Number | RevMajor | RevMinor ----------------------------------- AQ155 | 1 | 1 AQ155 | 1 | 2 AQ155 | 1 | 1 AQ155 | 1 |
Serial Number | RevMajor | RevMinor
-----------------------------------
AQ155 | 1 | 1
AQ155 | 1 | 2
AQ155 | 1 | 1
AQ155 | 1 | 7
AQ155 | 2 | 1 <---------
JR2709 | 1 | 7
JR2709 | 2 | 2 <---------
序列号| RevMajor | RevMinor
-----------------------------------
AQ155 | 1 | 1
AQ155 | 1 | 2
AQ155 | 1 | 1
AQ155 | 1 | 7
AQ155 | 2 | 1
另一种方法是:
select [serial number], revmajor, revminor
from table1 a
inner join ( select max(revMajor) from table1 ) b on a.revmajor = b.revmajor
另一种方法如果您知道只有两行:
select top 2 [serial number], revmajor, revminor
from table1 a
order by revmajor desc, revminor desc
另一种方法是:
select [serial number], revmajor, revminor
from table1 a
inner join ( select max(revMajor) from table1 ) b on a.revmajor = b.revmajor
另一种方法如果您知道只有两行:
select top 2 [serial number], revmajor, revminor
from table1 a
order by revmajor desc, revminor desc
你可以
select * from (
select *, row_number() over (partition by [Serial Number] order by RevMajor desc, RevMinor desc) VersionRank
from table
) T
where VersionRank = 1
你可以
select * from (
select *, row_number() over (partition by [Serial Number] order by RevMajor desc, RevMinor desc) VersionRank
from table
) T
where VersionRank = 1
谢谢这一个很有用,因为它允许我选择额外的列,如果我想,而不必担心分组方式谢谢这一个很有用,因为它允许我选择额外的列,如果我想,而不必担心分组方式