![](/img/trans.png)
[英]How can I load a single price, that's valid on a given date when the data has valid from and to columns
[英]Valid price at given date
有一張日期和價格表。
Date Price 2012-01-01 25 2012-01-05 12 2012-01-10 10
是否有某種功能可以讓我找到“2012-01-07”的當前價格? 沒有我知道其他日期。
偽查詢:選擇當前價格的價格('2012-01-07')
謝謝!
MySQL的:
select price from your_table
where date <= '2012-01-07'
order by date desc
limit 1
SQL Server:
select top 1 price from your_table
where date <= '2012-01-07'
order by date desc
如果您沒有使用ROW_NUMBER(),並且想要通用解決方案,則需要加入子查詢。
獲取所需的日期,然后獲取該日期的數據。
SELECT
*
FROM
yourTable
INNER JOIN
(
SELECT MAX(yourDate) AS maxDate FROM yourTable WHERE yourDate <= @dateParameter
)
AS lookup
ON yourTable.yourDate = lookup.maxDate
select price
from table1 t
where t.date = ( select max(t2.date)
from table1 t2
where t2.date <= '2012-01-07' )
請注意,這不是復制和粘貼答案,因為我們不知道您的date
列的數據類型是什么。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.