2016-11-17 57 views
-3

您好我有一個像下面比較值和確定趨勢

id_indicator value trend date_data 
      1  0  0 2011-08-18 09:16:15 
      1  2  1 2011-08-18 10:16:15 
      1  1 -1 2011-08-18 11:16:15 
      1  2  1 2011-08-18 12:16:15 
      2 21  0 2011-08-18 13:16:15 
      2 21  0 2011-08-18 14:16:15 
      2 21  0 2011-08-18 15:16:15 
      3  3  0 2011-08-18 16:16:15 
      3  4  1 2011-08-18 17:16:15 
      3  4  0 2011-08-18 18:16:15 
      4  4  0 2011-08-18 19:16:15 

表包含基於時間和基於價值觀另一列趨勢指標及其價值觀在MySQL數據庫中的表。最初所有的趨勢是0,那麼如果下一個指標值上升比趨勢應該是1,如果價值下降比趨勢應該是-1,如果價值不變趨勢應該是0.

但我已經知道一些的趨勢值未正確輸入到表格中。現在我需要幫助來確定有多少趨勢值插入錯誤,並按指標值計數組。

我會非常感激你的幫助

感謝

+0

見http://meta.stackoverflow.com/questions/333952/why-should-i-provide-an-mcve-for-what-seems-to-me-to-be-a-very -simple-sql-query - 此外,數據集是完全正確的,所以除了可能完全刪除多餘的「趨勢」列,這裏沒有什麼可做的。 – Strawberry

+0

我給出的數據不是真實的數據,但這是表結構。真正的數據包含大量不正確的趨勢值,這裏的數據也非常重要,因爲它出現在不同的時間 – Sumon

+0

請參閱http://stackoverflow.com/questions/41509627/mysql-how-to-keep-track-of-change-in-value -using-its-trend/41510223這些似乎是作業問題 –

回答

0

你可以使用相關子查詢查找以前的值。

SELECT 
    *, 
    (SELECT lookup.value 
     FROM yourTable AS lookup 
     WHERE lookup.id_indicator = yourTable.id_indicator 
     AND lookup.date_data < yourTable.date_data 
    ORDER BY lookup.date_data DESC 
     LIMIT 1 
    ) AS previous_value 
FROM 
    yourTable 
+0

我沒有得到任何結果 – Sumon