有一个mysql数据库,如下所示:
|Timestamp | Typ | Value |
|01-01-2011 | temperature1 | 2|
|01-01-2011 | temperature2 | 3 |
|01-01-2011 | humidity1 | 98 |
我会把这个表格变成这样的东西:
|Timestamp | temperature1 | temperature2 | humidity1 |
|01-01-2011 | 2 | 3 | 98 |
所以我希望每个类型的新列和一行中具有相同时间戳的所有值。
答案 0 :(得分:2)
试试这个:
SELECT A.Timestamp,
SUM(CASE WHEN A.Typ = 'temperature1' THEN A.Value ELSE 0 END) AS temperature1,
SUM(CASE WHEN A.Typ = 'temperature2' THEN A.Value ELSE 0 END) AS temperature2,
SUM(CASE WHEN A.Typ = 'humidity1' THEN A.Value ELSE 0 END) AS humidity1
FROM tableA A
GROUP BY A.Timestamp;