0
我存儲值從一些模擬寄存器(0和1)到數據庫中,我希望做以下的表中:解析模擬值
我有在數據庫中的下表,用於存儲所述傳感器值:
ID | TIMESTAMP | ALIAS | STATUS
1 | 2012-09-12 12:31:01 | AR1 | 0
2 | 2012-09-12 12:31:02 | AR1 | 0
3 | 2012-09-12 12:31:03 | AR1 | 0
4 | 2012-09-12 12:31:04 | AR1 | 0
5 | 2012-09-12 12:31:05 | AR1 | 0
6 | 2012-09-12 12:31:06 | AR1 | 0
7 | 2012-09-12 12:31:07 | AR1 | 1
8 | 2012-09-12 12:31:08 | AR1 | 1
9 | 2012-09-12 12:31:09 | AR1 | 1
10 | 2012-09-12 12:31:10 | AR1 | 0
11 | 2012-09-12 12:31:11 | AR1 | 0
12 | 2012-09-12 12:31:12 | AR1 | 0
13 | 2012-09-12 12:31:13 | AR1 | 0
14 | 2012-09-12 12:31:14 | AR1 | 0
15 | 2012-09-12 12:31:15 | AR1 | 1
16 | 2012-09-12 12:31:16 | AR1 | 0
17 | 2012-09-12 12:31:17 | AR1 | 0
18 | 2012-09-12 12:31:01 | AR1 | 0
...
使用SQL查詢,我希望能夠當寄存器,從而無需使用不必要的點來創建一個圖形已經改變狀態返回。請記住,該表包含100萬以上的值,通過這樣做,我將減少返回的數據的大小,並且圖表將更快。
我不確定MySQL是否提供了所描述的功能,但起初我認爲GROUP BY
可能是一個很好的解決方案,但不幸的是它不是。
有什麼建議嗎?
所需的輸出:
ID | TIMESTAMP | ALIAS | STATUS
1 | 2012-09-12 12:31:01 | AR1 | 0
6 | 2012-09-12 12:31:06 | AR1 | 0
7 | 2012-09-12 12:31:07 | AR1 | 1
9 | 2012-09-12 12:31:09 | AR1 | 1
10 | 2012-09-12 12:31:10 | AR1 | 0
14 | 2012-09-12 12:31:14 | AR1 | 0
15 | 2012-09-12 12:31:15 | AR1 | 1
16 | 2012-09-12 12:31:16 | AR1 | 0
...
你可以看到,我刪除連續值之間的中間線,因爲我只需要一個值的首次和最後出現和新的價值。
有什麼建議嗎?
那些看起來像數字值。 –
是的,你是正確的 – glarkou
但二進制並不意味着數字。盯着你的燈開關一會兒... –