-3
Type  major  minor  build  module
----  -----  -----  -----  -----
290   0      0      1      Name1
290   1      0      1      Name1
290   1      0      2      Name1
300   0      0      1      Name2
300   2      0      1      Name2
300   2      1      1      Name2

3 つの列 (major.minor.build) に基づいて、型ごとに最も高いバージョンの行のみを表示するクエリを取得しようとしています。モジュール名は、モジュール タイプを置き換えます。

サンプル データに基づくと、結果は次のようになります。

Type    major    minor    build    module
----    -----    -----    -----    ------
290     1        0        2        Name1
300     2        1        1        Name2
4

2 に答える 2

4

各タイプの最高値を取得するには、次のようにクエリできます。

;with cte as (
    select Type, major, minor, build, module
        rn = row_number() over (partition by Type 
          order by major desc, minor desc, build desc)
    from TableName
)
select Type, major, minor, build, module
from cte
where rn=1
于 2013-08-03T14:37:02.730 に答える