SQL 如何使用max函数获取db2中的最后一条记录

声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow 原文地址: http://stackoverflow.com/questions/14679408/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me): StackOverFlow

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-09-01 13:27:48  来源:igfitidea点击:

How to get last record in db2 using max function

sqldb2

提问by Bella

I want to get the last record of that table by using max() function.

我想使用 max() 函数获取该表的最后一条记录。

Query

询问

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

Result

结果

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

From that result table- i want the below data.

从那个结果表 - 我想要下面的数据。

Desire Result

想要的结果

812 0000556216  20130206    20130206

Need help to get the last record by using max()

需要帮助使用 max() 获取最后一条记录

回答by Gordon Linoff

Why do you needto use the max()function? If this is homework, you should state that in the question.

为什么需要使用该max()功能?如果这是家庭作业,你应该在问题中说明。

The best way to get the last record is something like:

获得最后一条记录的最佳方法是:

select *
from t
order by date
fetch first 1 row only

回答by John Woo

Trythis query,

试试这个查询,

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