Chinaunix首页 | 论坛 | 博客
  • 博客访问: 176429
  • 博文数量: 30
  • 博客积分: 2170
  • 博客等级: 大尉
  • 技术积分: 375
  • 用 户 组: 普通用户
  • 注册时间: 2007-09-13 11:13
文章分类

全部博文(30)

文章存档

2010年(1)

2009年(7)

2008年(22)

我的朋友

分类: Oracle

2008-11-04 18:42:12

平时工作中经常会遇到以下的SQL:
取出表table1中某字段column1不同值的最新(或者最大的)记录。
 
列1      列2
code1   2008-5-6
code1   2008-3-10
code2   2008-9-8
code2   2008-9-20
code2   2007-11-11
code3   2008-10-1
 
查询以后要取得如下结果:
 
列1      列2
code1   2008-5-6
code2   2007-11-11
code3   2008-10-1
 
 
这时就可以按照如下SQL进行查询:
 

select t1.*
from jjjzcz t1
inner join
(select jjdm,max(fsrq) as fsrq
    from jjjzcz
    group by jjdm
) t2
on t1.jjdm=t2.jjdm and t1.fsrq=t2.fsrq

不知道还有没有更好的写法来实现这种需求。

阅读(3214) | 评论(1) | 转发(0) |
给主人留下些什么吧!~~

chinaunix网友2008-11-08 21:20:15

有的,分析函数