Sql server 在SQL Server视图中使用GROUP BY返回最大值的记录
我已使用以下查询在sql server中创建了此视图:Sql server 在SQL Server视图中使用GROUP BY返回最大值的记录,sql-server,view,group-by,Sql Server,View,Group By,我已使用以下查询在sql server中创建了此视图: SELECT dbo.jointId.JointId, dbo.fitupdetail.fitupdetailId, dbo.fitupdetail.fitupdate, dbo.fitupdetail.fitupnumber, dbo.weldDetail.WeldDetailId, dbo.weldDetail.welddate, dbo.weldDetail.weldnumber
SELECT
dbo.jointId.JointId, dbo.fitupdetail.fitupdetailId,
dbo.fitupdetail.fitupdate, dbo.fitupdetail.fitupnumber,
dbo.weldDetail.WeldDetailId, dbo.weldDetail.welddate,
dbo.weldDetail.weldnumber
FROM
dbo.weldDetail
INNER JOIN
dbo.jointId ON dbo.weldDetail.jointid = dbo.jointId.JointId
INNER JOIN
dbo.fitupdetail ON dbo.jointId.JointId = dbo.fitupdetail.jointid
查询结果如下:
但是我期望的结果是在图片中选择的,我只需要根据我的评论记录最大值为welddetailid
和fitupdetailid
的每个jointID
:
SELECT TOP 1 WITH TIES j.JointId,
fd.fitupdetailId,
fd.fitupdate,
fd.fitupnumber,
wD.WeldDetailId,
wD.welddate,
wD.weldnumber
FROM dbo.weldDetail wD
INNER JOIN dbo.jointId j
ON wD.jointid = j.JointId
INNER JOIN dbo.fitupdetail fd
ON j.JointId = fd.jointid
ORDER BY ROW_NUMBER() OVER (PARTITION BY j.JointID ORDER BY fd.fitupdetailId DESC, wD.welddetailid DESC)
在语句末尾的(按JointID划分按JointID排序)上添加
按行排序。在顶部选择带领带的top 1
@gofr1你能给我完整的查询吗你的意思是这个查询:选择带领带的top 1 dbo.jointId.jointId.jointId,dbo.fitupdail.fitupdail.fitupdate,dbo.fitupdail.fitupnumber,dbo.weldDetail.WeldDetailId,dbo.welddetaild,dbo.weldDetail.weldnumber来自dbo.weldDetail内部联接dbo.jointId上的dbo.weldDetail.jointId=dbo.jointId.jointId内部联接dbo.fitupdetail上的dbo.weldDetail.weldnumber(PARTITION BY JointID ORDER BY welddetailid)是的,请参见我的答案!我得到了以下错误:ORDER BY子句中出现错误。无法解析查询文本。修复了查询,请添加别名。无法解析查询文本。SQL文本无法在网格窗格和图表窗格中表示。只需按OK:)在没有视图的情况下尝试此查询,只需在另一批中执行即可。