基本上,我使用了函數ROW_NUMBER,如“id”列前面的一行所示。 如果不想在結果中顯示“row number column”或“rn”,可以在下面的查詢中將*替換為SELECT * FROM TMP WHERE rnk = 1前面提到的除“rn”之外的所有列名。 讓我知道這對你是否有效。 WITH TMP AS (SELECT ROW_NUMBER() OVER(PARTITION BY CONCAT(al.agr_header_recid, '-', ap.month, '-', ap.year) ORDER BY o.Owner_Level_Name) as rn, CONCAT(al.agr_header_recid, '-', ap.month, '-', ap.year) AS id, al.Company_Name, ah.AGR_Name, al.agr_type_desc, al.Valid_flag, CAST(al.DateStart AS DATE) AS date_start, CAST(al.DateEND AS DATE) AS date_end, al.Billing_Cycle_Desc AS billing_cycle, al.Billing_Amount, al.Agreement_Status, o.Owner_Level_Name A