select row_number() over(partition by POINT_ID order by ALARM_TIME desc) rn
,ALARM_ID,ALARM_CONTENT,POINT_ID,ALARM_TIME from ALARM_LOG
查询结果为:#这里明显看出RN列有规律了
POINT_ID ----为某个字段条件
ALARM_TIME ----为时间筛选条件
desc ----时间到正序
只要在RN列上加一个过滤条件就好了:
select ALARM_ID,ALARM_CONTENT,POINT_ID,ALARM_TIMEfrom (
select row_number() over(partition by POINT_ID order by ALARM_TIME desc) rn
,ALARM_ID,ALARM_CONTENT,POINT_ID,ALARM_TIME from ALARM_LOG
) where rn = 1