例如以下場景:
一條新聞對應多條審核記錄,用戶想知道這條新聞走到哪一步審核了。
使用:select * from (select b.*,(ROW_NUMBER() OVER (PARTITION BY b.審核記錄id ORDER BY b.審核時間 desc))rn from 審核表 b) where rn = 1;獲取多審核記錄最新一條
利用 ROW_NUMBER()OVER 函數進行分類(PARTITION BY)排序(ORDER BY ),取出多方的最新一條數據進行展示。
例子:select *
from 新聞表 n
left join (select * from (select b. *, (row_number() over(partition by b.審核記錄id order by b.審核時間 desc)) rn from 審核表 b) e where rn = 1) t
on n.審核記錄id= t.審核記錄id
order by n.發布時間 desc;