可以使用窗口函数和分组来解决此问题。首先,我们按照所需的组和排序条件对数据进行排序,然后将每个组的行号保存到一个新的列中。最后,只需要选择行号为1的行即可。
示例代码:
SELECT *
FROM (
SELECT
*,
ROW_NUMBER() OVER (PARTITION BY group_id ORDER BY sort_column) AS row_num
FROM my_table
) t
WHERE row_num = 1;
其中,group_id
是用于分组的列,sort_column
是用于排序的列,my_table
是原始数据表。最终返回的结果是每个组中第一行的所有列。
上一篇:按组选择计数
下一篇:按组选择每组的前1个并进行转换