我有以下順序每天的股市數據的MySQL表:MySQL的 - 選中第一個和最後行(不是最小/最大)
_date, _opening_price, _high_price, _low_price, _close_price
我想這個數據轉換成數據週報使用:
SELECT
MAX(_date) AS _date,
WEEK(_date) AS weeknum,
_opening_price,
MAX(_high_price) AS _high_price,
MIN(_low_price) AS _low_price,
_closing_price
FROM myTable
GROUP BY weeknum ORDER BY _date;
如何選擇_opening_price所以它是第一_opening_price從本週的每日數據中?同樣,如何選擇_closing_price以便它是本週每日數據中的最後一個_closing_price價格?
下面是一個例子:
截至2007-01-05本週opening_price應該從2007-01-03(紅色)採取和收盤價應該從2007-採取01-05(綠色)。同樣,對於2007-01-12結束的一週,開盤價格應該從2007-01-08開始,收盤價格從2007-01-12開始。
您是否知道'WEEK'可能不會如你希望,如果你越過邊界一年的工作? – 2012-07-12 22:32:53
是的 - 爲了簡單起見,我只是在這裏發佈了WEEK。完整的查詢實際上是CONCAT(WEEK(_date),' - ',YEAR(_date))AS weeknum。 – Zishan 2012-07-12 22:37:20
我不認爲這也可以。 :-(雖然當然這取決於你想要發生什麼 - 如果你*想*你的星期分成兩年,當年改變時,我想它的工作... – 2012-07-12 22:38:35