首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > IBM DB2 >

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

2012-02-08 
如何获取同一个表中不同类型的最新值假如有一个表的结构和数据是:CODE TRAN_DATEAMOUNTTTT2010-10-121000T

如何获取同一个表中不同类型的最新值
假如有一个表的结构和数据是:
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) Bwhere 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     ) Bwhere A.CODE = B.CODE  and A.TRAN_DATE = B.TRAN_DATE 

热点排行