从多个记录中获取最大日期

时间:2015-09-03 07:24:32

标签: plsql

从下面的两个表中想要获取最大日期记录。

Table: account

ID  account  date

-----------------------
1   SBI      01-10-2005

2   SBI      05-11-2014

3   AXIS     02-06-2003

4   AXIS     01-08-2015




Table : user

ID    date          user      Type

--------------------------------------

1     01-10-2005    amit        C

2     05-11-2014    rahul       D 

3     02-06-2003    raghu       C

4     01-08-2015    sumit       C



OUTPUT:

ID  account  user      date
--------------------------------

2   SBI      rahul   05-11-2014

4   AXIS     sumit   01-08-2015

1 个答案:

答案 0 :(得分:0)

我假设你需要来自Account表的max(date)。让我知道。

每个列都会有重复的条目,它们来自select和group by子句,以提供非唯一的结果。

select子句中任何未聚合的内容(max / min / avg等)都应该在group by子句中添加。

1)以下将向您显示帐户,用户和日期的最大值。

select ca.account,cf.user,max(ca.date) from 
account ca,user cf 
where ca.id=cf.id 
and ca.account in ('SBI','AXIS') 
and cf.type='C'
group by ca.account,cf.user;

2)以下将显示每个帐户的最长日期。

  select ca.account,max(ca.date) from 
    account ca,user cf 
    where ca.id=cf.id 
    and ca.account in ('SBI','AXIS') 
    and cf.type='C'
    group by ca.account;

3)以下将显示用户及其最大帐户日期。

   select cf.user,max(ca.date) from 
        account ca,user cf 
        where ca.id=cf.id 
        and ca.account in ('SBI','AXIS') 
        and cf.type='C'
        group by cf.user;