[0] https://www.postgresql.org/docs/11/functions-window.html
Edit: Just tested it, it works but I wouldn't call it pretty.
create table testing(id int, grp int, other varchar2(255));
insert into testing values (1, 1, '');
insert into testing values (2, 1, '');
insert into testing values (3, 1, '');
insert into testing values (9, 2, '');
insert into testing values (10, 2, '');
with cte as (
select grp, id, row_number() over (partition by grp order by id) as rn from testing
)
select grp, id from cte where rn = 1;