让我知道如何查找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