要在DB2中分組排序并取每組的第一條數據,可以使用以下SQL語句:
WITH ranked_data AS (
SELECT
*,
ROW_NUMBER() OVER(PARTITION BY group_column ORDER BY sort_column) AS rn
FROM your_table
)
SELECT *
FROM ranked_data
WHERE rn = 1;
在這個SQL語句中,首先使用ROW_NUMBER()
窗口函數對每組數據進行排序,并為每行分配一個行號。然后使用PARTITION BY group_column
來指定分組列,ORDER BY sort_column
來指定排序列。最后通過在最外層查詢中過濾行號為1的數據,即可取得每組的第一條數據。