当前位置: 代码迷 >> DB2 >> 怎么获取同一个表中不同类型的最新值
  详细解决方案

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

热度:4647   发布时间:2013-02-26 00:00:00.0
如何获取同一个表中不同类型的最新值
假如有一个表的结构和数据是:
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
  相关解决方案