1、建立測試表,
create table test_log(user_id number, v_date date);
2、插入測試資料,
insert into test_log
select round(level/4), sysdate-level from dual connect by level<1000;
3、查詢表中資料,一個使用者會有多條時間記錄,select t.*, rowid from test_log t;
4、編寫sql,獲取所需目標資料,每個使用者只有最新一條記錄;
select *
from (select t.*,
row_number() over(partition by user_id order by v_date desc) rn
from test_log t)
where rn = 1
order by user_id;
1、建立測試表,
create table test_log(user_id number, v_date date);
2、插入測試資料,
insert into test_log
select round(level/4), sysdate-level from dual connect by level<1000;
3、查詢表中資料,一個使用者會有多條時間記錄,select t.*, rowid from test_log t;
4、編寫sql,獲取所需目標資料,每個使用者只有最新一條記錄;
select *
from (select t.*,
row_number() over(partition by user_id order by v_date desc) rn
from test_log t)
where rn = 1
order by user_id;