讓我知道如何查找SQL中庫存數據的車削價格點。例如,我們有以下數據列和N行:如何查找庫存車削價格點
Date |Price|
20150101 | 100 |
20150102 | 50 |
20150103 | 80 |
.
.
.
201708027 | 200 |
,我想找到轉折點(日期和價格),要了解清楚進行以下檢查image.please幫助我如何找到紅點。
讓我知道如何查找SQL中庫存數據的車削價格點。例如,我們有以下數據列和N行:如何查找庫存車削價格點
Date |Price|
20150101 | 100 |
20150102 | 50 |
20150103 | 80 |
.
.
.
201708027 | 200 |
,我想找到轉折點(日期和價格),要了解清楚進行以下檢查image.please幫助我如何找到紅點。
使用SELF JOIN
:
SELECT cur.*
FROM tab cur
JOIN tab prev
ON cur.date = prev.date + 1
JOIN tab next
ON cur.date = next.date - 1
WHERE cur.price > prev.price AND cur.price > next.price; -- peak
-- WHERE cur.price < prev.price AND cur.price < next.price; -- bottom
使用LEAD
和LAG
將更加可讀,但他們可以從SQL Server 2012+
。
基於這個問題,這是正確的答案。如果每天都有報價,我會感到驚訝。如果是這樣,OP應該接受這個答案並且詢問另一個問題,用更合適的樣本數據以及更好地解釋在假期和週末要做什麼。 –
@ lad2025感謝您的回答,但它對我來說不夠準確。 – MahdiIBM
你想要預測嗎?然後,您正在尋找Holt-Winters-Brown平滑和「變點分析」(因爲您需要平滑曲線上的拐點來濾除噪音)。 – Koshinae
@Koshinae其實我正在尋找過去的買入和賣出價格,然後執行那些未來的股票價格 – MahdiIBM
你仍然必須平滑曲線來找到拐點。 – Koshinae