リンクされた回答(MySQL - Rows to Columns)が私が求めていることとは関係がなくても、私の最後の質問は重複としてマークされていました。その投稿はおそらくここでは動作しないピボットテーブルを参照しています。再度転記する。テーブルからのマージSQL行
次のデータを持つ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 |
+-------------+---------------+---------------+--------------------+---------------------+------------+--------------+
このデータのスキーマにはほとんど考慮されていないため、2番目ごとの行はすべて同じ識別子とsensor_level値を持つ同じデータを共有します。私は、sensor_map_idを共有する行をマージするクエリを作成し、sensor_levelデータを保持する2つの追加の列をそれぞれ「レベル」と「温度」という2つの行から追加します。
一度フォーマットされると、データは半分の行でこのようになりますが、各行にはさらに多くの列があります。
+-------------+---------------+---------------+--------------------+- --------------------+------------+---------+
| 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は自分の特権ではありません。
編集:これが重複としてマークされている理由はわかりません。もう一つの質問は、ピボットテーブルについて質問していますが、これはもっと複雑です。
を追加することができます。それ以上の複雑さはありません。 – Strawberry
あなたはそれをどうやって行うのかという例を教えてもらえますか? – user1901469
あなたのサンプルデータでは、同じ 'sensor_map_id'(例えば1380)には2つの' sensor_log_id'(788551と788552)があります。あなたの希望のピボットテーブルでは、 'sensor_log_id'のための列は1つしかなく、サンプル出力は値(788551)のうちの1つだけを選択しました。それは本当にあなたが望むものですか? – leeyuiwah