如何为每一列获取日期的最大值。
你好,对不起我的英语我会做一个简短的简历我的问题。
我正在使用 postgresql,我有一个带有一些列的表,重要的是:A、B、C 和 D,我还有另一个带有日期(F)的表。
我想为每个 a、b 和 c(一起)获取 D 的值,其中日期(F)是 a、b 和 c 的最大值。
任何想法?
如何为每一列获取日期的最大值。
你好,对不起我的英语我会做一个简短的简历我的问题。
我正在使用 postgresql,我有一个带有一些列的表,重要的是:A、B、C 和 D,我还有另一个带有日期(F)的表。
我想为每个 a、b 和 c(一起)获取 D 的值,其中日期(F)是 a、b 和 c 的最大值。
任何想法?
尝试:
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
详细信息:最棒的
试试这个。。
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