Итак, мой последний вопрос был отмечен как дубликат, хотя связанный ответ (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 |
+-------------+---------------+---------------+--------------------+---------------------+------------+--------------+
очень мало мысль положить в схеме для этих данных, поэтому каждый второй ряд акций те же данные с другим идентификатором и sensor_level значения. Я хочу сделать запрос, который объединит строки, совместно использующие sensor_map_id, затем добавьте два дополнительных столбца, содержащих данные 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 не является моей сильной стороной.
Редактировать: Я не уверен, почему это обозначено как дубликат. Другой вопрос задает вопрос о сводных таблицах, это сложнее.
Это является основным стержнем. Это не сложнее. – Strawberry
Можете ли вы привести мне пример того, как вы это сделаете? – user1901469
В ваших данных примера один и тот же 'sensor_map_id' (например, 1380) имеет два' sensor_log_id' (788551 и 788552). В вашей желаемой поворотной таблице есть только один столбец для 'sensor_log_id', и ваш пример выводит только одно из значений (788551). Это действительно то, что вы хотите? – leeyuiwah