2016-10-07 28 views
-1
SELECT Min(`low`), 
     Max(`high`), 
     `snapshotdatetime` 
FROM `historical_intraday_price` 
WHERE Unix_timestamp(`snapshotdatetime`) >= Unix_timestamp('2016-09-01 09:20:00.000000 ') 
GROUP BY Unix_timestamp(`snapshotdatetime`) DIV 180 

這是我的查詢我希望字段名的第一個值字段名的開放值和最後一個值關閉此查詢。 其smthng像我想查找兩列的第一個和最後一個值以及我的查詢

SELECT First(`open`), 
     Last(`close`), 
     Min(`low`), 
     Max(`high`), 
     `snapshotdatetime` 
FROM `historical_intraday_price` 
WHERE Unix_timestamp(`snapshotdatetime`) >= Unix_timestamp('2016-09-01 09:20:00.000000  ') 
GROUP BY Unix_timestamp(`snapshotdatetime`) DIV 180 

但FIRST(Open),LAST(Close)西港島線是不行的,任何人有任何想法,請幫助

+0

哪種類型的列Opne和關閉?是約會? ..更新你的問題添加數據樣本和預期結果 – scaisEdge

+0

不,其雙重價值,如價格像256.25,245.74等 – Angel

+0

然後首先和最後是什麼意思..首先和最後在有序列表? ..最小值和最大值? – scaisEdge

回答

-1

也許使用UNION?像這樣?

SELECT MAX(open), MAX(close), MIN(low), MAX(high), MAX(snapshotDateTime) 
FROM (
    SELECT `open`, NULL AS close, MIN(`low`) AS low, MAX(`high`) AS high, `snapshotDateTime` 
    FROM table 
    WHERE [condition(s)] 
    GROUP BY `snapshotDateTime` 
    ORDER BY `snapshotDateTime` 
    LIMIT 1 
    UNION ALL 
     SELECT NULL, `close`, MIN(`low`), MAX(`high`), `snapshotDateTime` 
     FROM table 
     WHERE [condition(s)] 
     GROUP BY `snapshotDateTime` 
     ORDER BY `snapshotDateTime` DESC 
     LIMIT 1 
    ) U 
+0

沒有工會無法正常工作 – Angel

相關問題