有关给定日期的sql查询,如果不存在,请提供最新日期

问题描述 投票:0回答:2

我有这张桌子。

InformationValues(attr,dateOfValue,price)

表内容:

enter image description here

如果不存在,我需要选择所有具有相同日期的属性,应该选择最新日期。

例如TO_DATE('01-jan-19')

解决方案表应如下所示:

enter image description here

到目前为止,我的SQL查询:

select iv.attr , price, dateofvalue from informationvalues iv where
 dateofvalue = (select max(dateofvalue) from informationvalues where attr = iv.attr) or
 dateofvalue = TO_DATE('01-jan-19');

我想念什么?

sql subquery max
2个回答
0
投票

我对这个问题感到困惑

如果您的意思是,所选数据被划掉,试试这个:

Select  a.attr, Min(dateofvalue) dateofvalue_MIN, Max(dateofvalue) dateofvalue_MAX, price
From #TableName a
Inner Join (
    Select attr
    From #TableName
    Group By attr
    Having Count(1) > 1
    ) b On b.attr = a.attr
Group By a.attr, price

如果您的意思是,所选数据不会被删除,试试这个:

Select  a.attr, Min(dateofvalue) dateofvalue_MIN, Max(dateofvalue) dateofvalue_MAX, price
From #TableName a
Group By a.attr, price

Thx


0
投票

具有row_number()分析功能:

row_number()
© www.soinside.com 2019 - 2024. All rights reserved.