Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 在SQL Server视图中使用GROUP BY返回最大值的记录_Sql Server_View_Group By - Fatal编程技术网

Sql server 在SQL Server视图中使用GROUP BY返回最大值的记录

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

我已使用以下查询在sql server中创建了此视图:

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:)在没有视图的情况下尝试此查询,只需在另一批中执行即可。