-- Create table
create table TEST
(
ID NUMBER,
NUM NUMBER
);
ID | NUM |
1 | 1 |
1 | 2 |
1 | 3 |
1 | 4 |
2 | 1 |
2 | 2 |
2 | 3 |
select * from
(
select t.id, t.num, row_number() over(partition by t.id order by t.num desc) row_fg from test t where t.num != 4
) res
where res.row_fg = 1
ID | NUM | ROW_FG |
1 | 3 | 1 |
2 | 3 | 1 |