数据表如图:
id name category_id date
1 aaa 1 2010-06-10 19:14:37
2 bbb 2 2010-06-10 19:14:55
3 ccc 1 2010-06-10 19:16:02
4 ddd 1 2010-06-10 19:16:15
5 eee 2 2010-06-10 19:16:35以categroy_id分组后各个分组 最新(时间最大)的两条记录
结果如下:
id name category_id date
3 ccc 1 2010-06-10 19:16:02
4 ddd 1 2010-06-10 19:16:15
2 bbb 2 2010-06-10 19:14:55
5 eee 2 2010-06-10 19:16:35sql语句如下:SELECT * FROM test a WHERE 2> (SELECT COUNT(*) FROM test b WHERE b.category_id = a.category_id AND b.date>a.date)
ORDER BY a.category_id,a.date;求讲解一下这个自连接的sql语句如何理解。。额 。
id name category_id date
1 aaa 1 2010-06-10 19:14:37
2 bbb 2 2010-06-10 19:14:55
3 ccc 1 2010-06-10 19:16:02
4 ddd 1 2010-06-10 19:16:15
5 eee 2 2010-06-10 19:16:35以categroy_id分组后各个分组 最新(时间最大)的两条记录
结果如下:
id name category_id date
3 ccc 1 2010-06-10 19:16:02
4 ddd 1 2010-06-10 19:16:15
2 bbb 2 2010-06-10 19:14:55
5 eee 2 2010-06-10 19:16:35sql语句如下:SELECT * FROM test a WHERE 2> (SELECT COUNT(*) FROM test b WHERE b.category_id = a.category_id AND b.date>a.date)
ORDER BY a.category_id,a.date;求讲解一下这个自连接的sql语句如何理解。。额 。
解决方案 »
- scott为什么不能访问SYS 下的某些表?
- OEM console 中在哪配置XML Database
- 谁有OBIEE方面的电子书籍啊~share一下吧
- centos4.4下安装oracle10g的问题,谁帮帮我呀?
- oracle中,如何实现:将一个数据库的一张表复制到另外的一个数据库
- 高分求:Oracle8i到Oracle9i的升级方案
- 关于新建用户A找不到其它用户B下面的表的问题
- 急请高手指点9i数据库登陆问题。多谢!
- ◆◆如何恢复我已经删除的数据◆◆
- 请问,ORACLE9i中有类似于8i中的schema吗?
- 小弟有个菜菜的oracle 登陆问题
- dbms_output.put_line输出中文乱码
这布局,坐等@@@@
categroy_id,date in (select categroy_id,date from table where 条件 group by categroy_id,date having max(date))
--t用你的表名替换下,最好列名不要用date,不然你用起来很麻烦的
select id,name,category_id,to_char("date",'yyyy-mm-dd hh24:mi:ss') "date"
from(
select rank() over(partition by category_id order by category_id,"date" desc) rk,
id,name,category_id,"date"
from t) t1
where rk<3;
但是我觉得不太好理解。 谁能讲解下。。