我有一个mysql查询,它给出了以下结果。
+-------------+---------------+---------------+--------------------+- --------------------+------------+--------------+
| identifier | sensor_map_id | sensor_log_id | device_post_log_id | sensor_component_id | logged_at | sensor_level |
+-------------+---------------+---------------+--------------------+- --------------------+------------+--------------+
| Level | 1380 | 788551 | 107392 | 2759 | 1463690100 | 38.00 |
| Temperature | 1380 | 788552 | 107392 | 2760 | 1463690100 | 300.60 |
| Level | 1381 | 788547 | 107392 | 2761 | 1463690100 | 46.00 |
| Temperature | 1381 | 788548 | 107392 | 2762 | 1463690100 | 299.50 |
| Level | 1382 | 788549 | 107392 | 2763 | 1463690100 | 45.00 |
| Temperature | 1382 | 788550 | 107392 | 2764 | 1463690100 | 299.50 |
| Level | 1383 | 100381 | 12664 | 2765 | 1454111400 | 153.00 |
| Temperature | 1383 | 100382 | 12664 | 2766 | 1454111400 | 295.20 |
| Level | 1383 | 788553 | 107392 | 2773 | 1463690100 | 38.00 |
| Temperature | 1383 | 788554 | 107392 | 2774 | 1463690100 | 300.40 |
+-------------+---------------+---------------+--------------------+---------------------+------------+--------------+
对于每个sensor_map_id,数据基本上是重复的两次。一次为“水平”,一次为温度。列sensor_level基于标识符列引用“级别”或“温度”。显然,长期解决方案是改变这些数据的存储方式,但是现在我想采用这些结果并基本上合并共享sensor_map_id的行,然后代替sensor_level列,有两个新列,级别和温度在更有意义的同时存储当前保存在sensor_level中的值。
数据应该看起来像这样,行数减半,但每行有更多列。
+-------------+---------------+---------------+--------------------+- --------------------+------------+---------+
| sensor_map_id | sensor_log_id | device_post_log_id | sensor_component_id | logged_at | level | temperature
+---------------+---------------+--------------------+- --------------------+------------+--------------+--------
| 1380 | 788551 | 107392 | 2759 | 1463690100 | 38.00 | 300.60
| 1381 | 788547 | 107392 | 2761 | 1463690100 | 46.00 | 299.50
| 1382 | 788549 | 107392 | 2763 | 1463690100 | 45.00 | 299.50
| 1383 | 100381 | 12664 | 2765 | 1454111400 | 153.00 | 295.20
| 1383 | 788553 | 107392 | 2773 | 1463690100 | 38.00 | 300.40
+-------------+---------------+---------------+--------------------+---------------------+------------+-------------+
我想这很容易做到但是Mysql不是我的强项。在此先感谢您的帮助!
编辑:我不确定为什么这被标记为重复。另一个问题是询问数据透视表,这更复杂。