如何为每列获取日期的最大值

时间:2012-12-11 19:02:30

标签: postgresql

如何为每列获取日期的最大值。

您好,对不起我的英语我将简要解决我的问题。

我正在使用postgresql,我有一个包含一些列的表,重要的是: A,B,C和D,我有另一个日期(F)。

我想为每个a,b和c(连同)获取D的值,日期(F)是a,b和c的最大值。

有什么想法吗?

2 个答案:

答案 0 :(得分:1)

尝试:

SELECT GREATEST(A,B,C)
FROM table1

它会给你最大的A,B,C。然后:

SELECT GREATEST(A,B,C), D
FROM table1
JOIN table2 ON GREATEST(A,B,C) = F

详细信息:GREATEST

答案 1 :(得分:0)

试试这个..

with cte as (
  select 1 as A, 1 as B, 1 as C, 'Hello' as D, '12/1/2012'::date as F
  union select 1,2,1,'Hello2','12/2/2012'
  union select 1,1,1,'Hello3','12/5/2012'
)
select a.*
from cte a
join (
    select A,B,C, MAX(F) F
    from cte
    group by A,B,C
) b
  on a.A = b.A
  and a.B = b.B
  and a.C = b.C
  and a.F = b.F
相关问题