SQL group by 分组后,同一组的排序后取第一条


SELECT * FROM(
                SELECT
                    [SPID]
                    ,[PH1]
                    ,[PH1_Code]
                    ,[ProjectName]
                    ,ROW_NUMBER() OVER(PARTITION BY [SPID] ORDER BY [SPID]) RowNum
                FROM(
                    SELECT
                          a.[SPID]
                          ,b.[ProjectName]
                          ,b.[PH1] AS [PH1_Code]
                          ,e.[Description] AS [PH1]
                      FROM [dbo].[CAE_SPAndTask] a
                      LEFT JOIN [dbo].[CAE_Task] b ON b.[CAENumber]= a.[CAENumber]
                      LEFT JOIN [dbo].[CAE_PH1PH2] e ON e.[ProductHierarchy] = b.[PH1]
                )t4
                GROUP BY [SPID],[ProjectName],[PH1_Code],[PH1]
            )t5
            WHERE RowNum = 1


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM