SQL Server语言 - 按定义的层次结构排序



例如,我有以下表格:

tbody> <<tr>
客户端ID 功能
1234RE
1234我们
1234SP
1234AG)
6789AG)
6789我们

WITH cte AS 
(
SELECT
ROW_NUMBER() OVER(PARTITION BY [CLIENT_ID] ORDER BY (
CASE FUNCTION
WHEN 'SP' THEN 0
WHEN 'AG' THEN 1
ELSE 2
END) ASC) AS rn
,[CLIENT_ID]
, FUNCTION 
FROM ope.stg_client
)
SELECT *
FROM cte
WHERE rn = 1

我能得到想要的输出

最新更新