Sql server 2008 如何通过SQL中的另一列选择具有最大值(列值)的行组?
我不知道如何通过另一列选择具有最大列值组的行。我有T-SQLSql server 2008 如何通过SQL中的另一列选择具有最大值(列值)的行组?,sql-server-2008,tsql,group-by,sql-order-by,Sql Server 2008,Tsql,Group By,Sql Order By,我不知道如何通过另一列选择具有最大列值组的行。我有T-SQL CREATE PROC GET_USER AS BEGIN SELECT A.USER_ID, B.START_DATE , D.START_DATE, A.FULL_NAME,A.COST_CENTER, F.DEPARTMENT_NAME,G.BU_NAME FROM USERS A INNER JOIN USER_PERSON B ON A.USER_ID=B.USER_ID INNER JOIN TYPE_PERSON C
CREATE PROC GET_USER
AS
BEGIN
SELECT A.USER_ID, B.START_DATE , D.START_DATE, A.FULL_NAME,A.COST_CENTER,
F.DEPARTMENT_NAME,G.BU_NAME
FROM USERS A INNER JOIN USER_PERSON B ON A.USER_ID=B.USER_ID
INNER JOIN TYPE_PERSON C ON C.TYPE_PERSON_ID = B.TYPE_PERSON_ID
INNER JOIN USER_TRANSACTION D ON D.USER_ID = A.USER_ID
INNER JOIN TRANSACTIONS E ON E.TRANSACTION_ID = D.TRANSACTION_ID
INNER JOIN DEPARTMENT F ON F.DEPARTMENT_ID = D.DEPARTMENT_ID
INNER JOIN BUS_UNIT G ON G.BU_ID = D.BU_ID
INNER JOIN BRANCH H ON H.BRANCH_ID = D.BRANCH_ID
INNER JOIN POSITION J ON J.POSITION_ID = D.POSITION_ID
WHERE A.FLAG = 'TRUE'
END
结果将选择max(B.开始日期)和max(D.开始日期)并按用户ID分组
试试这个
SELECT T.USER_ID ,
MAX(T.START_DATE) AS [Max First Start Date] ,
MAX(T.[Second Start Date]) AS [Max Second Start Date]
FROM ( SELECT A.USER_ID ,
B.START_DATE ,
D.START_DATE AS [Second Start Date] ,
A.FULL_NAME ,
A.COST_CENTER ,
F.DEPARTMENT_NAME ,
G.BU_NAME
FROM USERS A
INNER JOIN USER_PERSON B ON A.USER_ID = B.USER_ID
INNER JOIN TYPE_PERSON C ON C.TYPE_PERSON_ID = B.TYPE_PERSON_ID
INNER JOIN USER_TRANSACTION D ON D.USER_ID = A.USER_ID
INNER JOIN TRANSACTIONS E ON E.TRANSACTION_ID = D.TRANSACTION_ID
INNER JOIN DEPARTMENT F ON F.DEPARTMENT_ID = D.DEPARTMENT_ID
INNER JOIN BUS_UNIT G ON G.BU_ID = D.BU_ID
INNER JOIN BRANCH H ON H.BRANCH_ID = D.BRANCH_ID
INNER JOIN POSITION J ON J.POSITION_ID = D.POSITION_ID
WHERE A.FLAG = 'TRUE'
) AS T
GROUP BY T.USER_ID
当(对于特定的用户ID)MAX(B.START_DATE)在一行,而MAX(D.START_DATE)在另一行时,您希望得到什么结果?我认为B.START_DATE在表B中,D.START_DATE在表D中,不一样,我应该按用户ID分组,然后按B.START_DATE和D.START_DATE分组并选择MAX。好吧,我尝试了,但似乎有错误,结果是循环,我编辑了评论和答案。