table表id time
1 8:11:00
1 8:12:00
1 8:12:55
2 8:12:11
2 8:15:00类似于上面的表数据,我可以使用下面的SQL查询出时间最近的记录
select id, max(time) from table group by id请问除了使用max以外,有什么关键字与group by配合使用可以达到同样的效果?
1 8:11:00
1 8:12:00
1 8:12:55
2 8:12:11
2 8:15:00类似于上面的表数据,我可以使用下面的SQL查询出时间最近的记录
select id, max(time) from table group by id请问除了使用max以外,有什么关键字与group by配合使用可以达到同样的效果?
from
(
select id,row_number() over (partition by id order by time desc) rn
from 表
group by id
) a
where a.rn=1
也行的,不过仅限于取一条纪录,有分组的话,就不能用了
select *
from
(select *
from table
order by time desc)
where rownum=1
二楼的正解
partition 是分析函数中使用的关键字,建议楼主先看一下分析函数的相关资料。