oracle一个SQL语句的,
先分组 在查询每组最新三条数据
比如,
1portal.war12012-08-22 15:58:22 +0800
2portal.war12012-08-21 15:58:22 +0800
3portal.war02012-08-20 15:58:22 +0800
4portal.war12012-08-19 15:58:22 +0800
5portal2.war12012-08-20 15:58:22 +0800
6portal3.war12012-08-19 15:58:22 +0800
7portal.war02012-08-17 15:58:22 +0800
显示结果为
1portal.war12012-08-22 15:58:22 +0800
2portal.war12012-08-21 15:58:22 +0800
3portal.war02012-08-20 15:58:22 +0800
5portal2.war12012-08-20 15:58:22 +0800
6portal3.war12012-08-19 15:58:22 +0800
谁帮忙看下吧,实在没写出来的
[解决办法]
- SQL code
--假设对应列为id,name,val,dt,还过这种速度不快select id,name,val,dt from(select row_number() over(partition by name order by dt desc) rn,id,name,val,dt from 你的表) twhere rn<4;