我试图更多地思考如何做到这一点并进行搜索,但没有解决方案符合需要。 下面是根据图形名称动态绘制图形名称的表格,每个图形在“位置”列中插入为“已提交”并更新为“已拒绝”并插入与“使用新修订版提交”相同的数据,如此图像所示
我需要的是一个SQL查询,它区分具有相同图纸名称且具有此图纸名称的最大版本号的行。
如图所示,图形名称1的最大修订版号为1,这不是静态的,图纸名称2的最大版本号为2
任何想法我怎么能这样做,抱歉我在SQL查询中不太好
答案 0 :(得分:1)
您需要按图纸名称分组并选择修订的最大值,如下所示:
SELECT drawingname, MAX(revision)
FROM table
GROUP BY drawingname
答案 1 :(得分:1)
SELECT T1.*
FROM table T1
JOIN (
SELECT drawingname, MAX(revision) maxrevision
FROM table
GROUP BY drawingname
) T2
ON T1.drawingname= T2.drawingname and T1.revision = T2.maxrevision
答案 2 :(得分:1)
使用ROW_NUMBER
窗口功能
Select Top 1 with Ties *
From yourtable
Order by Row_number() Over(Partition by drawingname Order by revision desc)
答案 3 :(得分:0)
select * from (
select *,row_numver()over(partition by drawingname order by revision desc ) as rn from table1
) as t where rn=1