gpt4 book ai didi

sql - 查询返回日期范围内的行但仅返回列的最大值

转载 作者:行者123 更新时间:2023-12-03 03:01:20 27 4
gpt4 key购买 nike

我想要做的是从表格中选择价格,其中给定的日期介于表格中的开始日期和结束日期之间。

SELECT price 
FROM table
WHERE 'dategiven' BETWEEN startdate AND enddate

使用日期时间过滤器就足够简单了。问题是我在提供的时间窗口中有多个记录,我也有一个版本列。

下面是我的表格的示例:

enter image description here

我希望查询输出如下所示,其中我的 dategiven2013-08-25 enter image description here

Milk 有 3 条记录,其中 2 条的有效期为 dategiven (2013-08-25)。然后我想返回最高版本的结果?

类似于:

SELECT
price
FROM table
WHERE 'dategiven' BETWEEN startdate AND enddate AND max(version)

最佳答案

使用row_number()函数对行进行排名

select product, price, version
from
(
select
*,
row_number() over (partition by product order by version desc) rn
from yourtable
where @dategiven between startdate and enddate
) v
where rn = 1

关于sql - 查询返回日期范围内的行但仅返回列的最大值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18511924/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com