专注收集记录技术开发学习笔记、技术难点、解决方案
网站信息搜索 >> 请输入关键词:
您当前的位置: 首页 > DB2

怎么获取同一个表中不同类型的最新值

发布时间:2010-05-20 14:01:29 文章来源:www.iduyao.cn 采编人员:星星草
如何获取同一个表中不同类型的最新值
假如有一个表的结构和数据是:
CODE TRAN_DATE AMOUNT
TTT 2010-10-12 1000
TTT 2010-12-31 3000
CCC 2010-07-01 500
CCC 2011-01-31 4000



我期望能查出来的值是
CCC 2011-01-31 4000
TTT 2010-12-31 3000 

这种值, 我的SQL应该怎么写,有一条SQL能满足我的需求么?

------解决方案--------------------
select * from tt a whre not exists(select 1 from tt where a.CODE=cdoe and a.TRAN_DATE<TRAN_DATE)
------解决方案--------------------
SQL code
select * from table A where not exists(
    select 1 from table B where a.CODE = B.CODE and A.TRAN_DATE < B.TRAN_DATE
)

select A.* 
from table A,
     (select CODE, max(TRAN_DATE) as TRAN_DATE from table group by CODE) B
where A.CODE = B.CODE
  and A.TRAN_DATE = B.TRAN_DATE

------解决方案--------------------
加时间段:

SQL code
select A.* 
from table A,
     (select CODE, max(TRAN_DATE) as TRAN_DATE from table
      where TRAN_DATE > ? and TRAN_DATE < ?
      group by CODE
     ) B
where A.CODE = B.CODE
  and A.TRAN_DATE = B.TRAN_DATE
友情提示:
信息收集于互联网,如果您发现错误或造成侵权,请及时通知本站更正或删除,具体联系方式见页面底部联系我们,谢谢。

其他相似内容:

热门推荐: