2015-11-13 51 views
0

我想用BASh腳本進行插值。我有一個數據基地[從片段]是這樣的:MySQL線性MIN MAX插值提取

enter image description here

對於一個給定值timestamp我想要的SQL與相應value和相若方式返回timestamp最近的更大價值對於最接近的較小值timestamp也返回相應的value

問:查詢看起來像什麼來提取這些信息?

+0

如果你找到一個更好的解決辦法,請分享,因爲我知道我是不是很優化(在SELECT子句2種選擇)。 –

回答

0

你可以試試這個。另請注意,時間戳是reserved word for MySQL

SELECT (
    SELECT `timestamp` 
    FROM your_table 
    WHERE `timestamp` > 'your_value' 
    ORDER BY `timestamp` ASC 
    LIMIT 1 
) AS one_greater, 
(
    SELECT `timestamp` 
    FROM your_table 
    WHERE `timestamp` < 'your_value' 
    ORDER BY `timestamp` DESC 
    LIMIT 1 
) AS one_less; 
+0

我已經分解了兩個選擇,以兩個獨立的查詢 - 因爲我需要這兩個變量做插值。 目前「one_less」查詢返回「NULL」值 - 所以我很難解決這個問題。 – 3kstc

+0

我檢查過它,它工作正常。它返回一列兩列。 –

+0

你可以用SQL小提琴給你的數據樣本來檢查你的查詢嗎? –