阅读量:4
要在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的数据,即可取得每组的第一条数据。