select A,B,MAX(Create_Date)
from tbl
where A=B
GROUP BY A,B
解决方案 »
- oracle 日期转换
- 请教高手看看错误在哪里
- varchar2转blob 问题
- 创建oracle8i的表空间出现的问题
- 请问我的Enterprise Manager Console为什么没反应呢?
- linux下 安装时,安装页面出现乱码,无法正确显示字符。
- 从Oracle中取数据的格式(编码?)问题
- 修改字段的精度,number(10,2)-->number(10,4)
- oracle在linux下自动备份时怎么取系统时间?
- 不通过Oracle Client安装程序如何实现ODBC驱动/SqlNet的安装和配置?急...分可加...来者有分
- Oracle中如何得到某个用户所拥有的全部表名?
- pl/sql中,一个简单的存储过程和字符串判别的问题!
WHERE (A,B,CREATE_DATE) IN (
SELECT A,B,MAX(CREATE_DATE) FROM TBNAME GROUP BY A,B);
(select row_number() over(partition by a,b order by Create_Date desc) rm,a.* from tabname a)
where rm=1
from TBName
where exists (
select *
from TBName
where a = b
group by a,b );
Name Type Nullable Default Comments
---- ------------ -------- ------- --------
A VARCHAR2(10) Y
B VARCHAR2(10) Y
C VARCHAR2(10) Y SQL> select * from test3;A B C
---------- ---------- ----------
1 1 01/01/2003
1 1 01/02/2003
2 2 01/01/2003
2 2 01/02/2003SQL>
SQL> select a,b,c from (select
2 a,b,c,rank() over(partition by a,b order by c desc) rn
3 from test3
4 )
5 where rn = 1
6 ;A B C
---------- ---------- ----------
1 1 01/02/2003
2 2 01/02/2003
to lianhg(lianhg)
我试过你这种方法,如果还要列出其它字段,好象是不行的。
试试我的嘛:)
select A,B,MAX(Create_Date)
from tbl
GROUP BY A||B
---------- ---------- ---------- ----------
1 1 1 01-1月 -03
2 1 1 01-2月 -03
3 2 2 01-1月 -03
4 2 2 01-2月 -03
5 1 2 01-2月 -03SQL> select bt.id,bt.a,bt.b,bt.createdate from(select a,b,max(createdate) maxd f
rom testme group by a,b having a=b) at,testme bt where at.a=bt.a and at.b=bt.b a
nd at.maxd=bt.createdate; ID A B CREATEDATE
---------- ---------- ---------- ----------
2 1 1 01-2月 -03
4 2 2 01-2月 -03