我在MySQL DB中有以下数据,我需要找到第一个买/卖的发生(参见状态栏)以及相应的股票及其相应的价格
例如,我的表中有以下数据:
我已经突出显示了第一次买入和卖出黄色的AAPL和橙色的MSFT,以便更好地理解。
MySQL中的查询应该给我以下结果:
答案 0 :(得分:0)
你可以试试这个
SELECT current.Date,
current.Stock,
current.Price,
current.Status
FROM <your table> current
LEFT JOIN <your table> previous
ON previous.Date =
(SELECT MAX(t.Date)
FROM <your table> t
WHERE t.Date < current.Date)
WHERE current.Status <> previous.Status OR previous.Status IS NULL
ORDER BY current.Date