我正在try 获取用于查询的行..其中,对于每组id,最小结束日期中的行值1、值2等于最大结束日期.
我当前的查询仅从查询结果中的max end_date获取行value1、value2:
select a.id, a.end_date, a.value1, a.value2
from table1 as a
inner join (
select id, max(end_date) as end_date
from database1
group by id
) as b
on a.id = b.id and a.end_date = b.end_date
order by id, end_date
这个结果获得了最新的记录,但我希望获得value1&;值2,最小值(结束日期=最大值(结束日期),按id分组.
下面是一个示例查询,详细说明了我想要获得的信息:
id | end_date | value1 | value2 |
---|---|---|---|
AAPL | 02/12/22 | 2 | 1 |
AAPL | 02/13/22 | 2 | 1 |
AAPL | 02/14/22 | 3 | 2 |
AAPL | 02/15/22 | 3 | 2 |
MSFT | 03/01/22 | 2 | 5 |
MSFT | 03/02/22 | 4 | 5 |
MSFT | 03/03/22 | 4 | 5 |
MSFT | 03/04/22 | 4 | 5 |
从前面的查询中,我需要获得以下查询:
id | end_date | value1 | value2 |
---|---|---|---|
AAPL | 02/14/22 | 3 | 2 |
MSFT | 03/02/22 | 4 | 5 |
所以再一次,我需要一行,其中value1,value2的最小值(end_date)=最大值(end_date),按id分组.