2013-02-04 60 views
1

我想使用max()函數獲取該表的最後一條記錄。如何使用max函數獲取db2中的最後一條記錄

查詢

select oafaci, oaorno, min(obfded) ,max(oblded) from mvxcdtpusd.oohead join mvxcdtpusd.ooline on oacono = obcono and oaorno = oborno and oafaci = obfaci and oawhlo = obwhlo where obitno like '19140%' and OBCONO = 888 group by OAFACI, OAORNO 

結果

OAFACI OAORNO  FDate   LDate 
812 0000556215 20130109 20130109 
812 0000554203 20130102 20130102 
812 0000553769 20121017 20121017 
812 0000554204 20130130 20130130 
812 0000556214 20121024 20121024 
812 0000556216 20130206 20130206 

從這個結果表 - 我想下面的數據。

慾望結果

812 0000556216 20130206 20130206 

需要幫助的使用MAX()來獲得最後一個記錄

+0

這個是什麼結果呢? –

+0

如果你將數據存儲爲字符串,我認爲這是不可能的。編輯:我的意思是不可能通過max()函數。 –

+0

@ JW - 我想要最後一條記錄線沒有7 – Bella

回答

2

嘗試此查詢,

SELECT * 
FROM tablename 
WHERE OAFACI = 812 AND 
     OAORNO = (SELECT MAX(OAORNO) 
        FROM tableName 
        WHERE OAFACI = 812) 

UPDATE

SELECT a.* 
FROM tableName a 
     INNER JOIN 
     (
      SELECT OAFACI, MAX(FDATE) max_date 
      FROM tableName 
      GROUP BY OAFACI 
     ) b ON a.OAFACI = b.OAFACI AND 
       a.FDATE = b.max_date 
-- WHERE a.OAFACI = 812 
+0

還不行! – Bella

+0

該查詢基於最大的'OAORNO'。你有沒有得到任何錯誤?你想獲得每個'OAFACI'的最新記錄嗎? –

+0

是的..實際上..這張桌子沒有任何身份... {從oooooo = obcono和oaorno = oborno中選擇oafaci,oaorno,min(obfded),max(oblded)from mvxcdtpusd.oohead加入 mvxcdtpusd.ooline和oafaci = obfaci和oawhlo = obwhlo其中obitno like'19140%'和OBCONO = 888 group by OAFACI,OAORNO} – Bella

6

爲什麼你需要才能使用max()函數?如果這是作業,你應該在問題中說明。

獲得最後一個記錄的最好方法是這樣的:

select * 
from t 
order by date 
fetch first 1 row only 
相關問題