0
我最近用MySQL創建了我的第一個數據庫。我使用它每十分鐘從十個不同的傳感器記錄數據。每個傳感器都有一個唯一的ID,同時讀出所有傳感器,以便有十個條目獲得相同的時間戳。該數據庫是這樣的:MySQL - 在同一行中具有相同時間戳的所有條目
sensor_id | timestamp | sensor_value |
1 | 2016-06-13 20:40:00 | 19.1 |
2 | 2016-06-13 20:40:00 | 20.1 |
3 | 2016-06-13 20:40:00 | 21.5 |
.
.
.
10 | 2016-06-13 20:40:00 | 18.7 |
1 | 2016-06-13 20:50:00 | 19.4 |
2 | 2016-06-13 20:50:00 | 20.2 |
3 | 2016-06-13 20:50:00 | 22.1 |
.
.
.
10 | 2016-06-13 20:50:00 | 17.9 |
.
.
.
現在我想以這樣的方式,我得到的每一個時間戳的行的數據與導出包含十個傳感器爲TEN下列:
| 1 | 2 | 3 | ... | 10 |
2016-06-13 20:40:00 | 19.1 | 20.1 | 21.5 | ... | 18.7 |
2016-06-13 20:50:00 | 19.4 | 20.2 | 22.1 | ... | 17.9 |
.
.
.
我試圖使用GROUP_CONCAT,幾乎找到了我正在尋找的東西。但是,這給了我所有的傳感器值一列以逗號分隔的列表
timestamp | GROUP_CONCAT(sensor_value) |
2016-06-13 20:40:00 | 19.1,20.1,21.5,...,18.7 |
2016-06-13 20:50:00 | 19.4,20.2,22.1,...,17.9 |
.
.
.
不幸的是,有時一個傳感器未能提供其價值和沒有條目添加到我的數據庫。因此,有時只有九個值具有相同的時間戳。而逗號分隔列表不能告訴我哪個傳感器丟失了。這就是爲什麼我需要每個唯一的傳感器ID一列。有沒有辦法做到這一點?
我試圖通過瀏覽堆棧溢出來解決這個問題,但由於我對MySQL和數據庫相當新,所以我沒有設法解決我的問題,但沒有發佈新的問題。如果在對不起之前已經提出並回答了問題,並且如果有人將我轉向正確的方向,我會很高興。
謝謝!
[MySQL的數據透視表(http://stackoverflow.com/questions/7674786/mysql-pivot-table) – Schleis
搜索能進行旋轉表的可能的複製。 –