我需要连接几个表,而这些表又需要连接到此绘图表中绘图表的结果集,每个部分都有多个绘图编号和修订版。我需要最大图纸编号,然后是零件的最大修订版本。
我意识到我可以通过以下方式做到这一点:
操作
select part, max(dwg_num)
from drawingtable
group by part
然后嵌入这是另一个查询,以获得最大修订,然后将其加入自己以获得其他字段,但它似乎有点凌乱,我想知道是否有人有任何想法更好的方式
答案 0 :(得分:1)
使用ROW_NUMBER
对每个零件的可绘制记录进行排名,并保持最佳排名。
select *
from
(
select
drawingtable.*,
row_number() over (partition by part order by dwg_num desc, rev_num desc) as rn
from drawingtable
) ranked
where rn = 1;