我需要为RequestType = 1和ToRoleID = 1选择没有其他ToRoleID记录的最大步骤。
示例:如果我按RequestType = 1和ToRoleID = 1进行过滤,则应该只给出Request_ID = 5的行。
我可以只使用分区,JOIN吗?
谢谢。
答案 0 :(得分:0)
这可能就是你想要的。
DECLARE @RequestType INT = 1,
@ToRoleID INT = 1
SELECT *
FROM ( SELECT *,
MAX(ToRoleID) OVER (PARTITION BY Request_ID) MaxRole
FROM myTable
WHERE me.RequestType = @RequestType) mt
WHERE MaxRole = @ToRoleID