1
結果を1行に表示し、特定の値の列で区切りたい。MySQL Select - 数値のときに行をマージする
mysql> +----------------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+------+---------------------+
-> | temp_series_id | CO | DP | BO | DZ | KT | KR | DR | GZ | GP | PD | CD | date |
-> +----------------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+------+---------------------+
-> | 272138 | 21.12 | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | 2017-08-20 14:06:46 |
-> | 272138 | NULL | 20.06 | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | 2017-08-20 14:06:46 |
-> | 272138 | NULL | NULL | 18.69 | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | 2017-08-20 14:06:46 |
-> | 272138 | NULL | NULL | NULL | 21.81 | NULL | NULL | NULL | NULL | NULL | NULL | NULL | 2017-08-20 14:06:46 |
-> | 272138 | NULL | NULL | NULL | NULL | 22.06 | NULL | NULL | NULL | NULL | NULL | NULL | 2017-08-20 14:06:46 |
-> | 272138 | NULL | NULL | NULL | NULL | NULL | 22.44 | NULL | NULL | NULL | NULL | NULL | 2017-08-20 14:06:46 |
-> | 272138 | NULL | NULL | NULL | NULL | NULL | NULL | 14.69 | NULL | NULL | NULL | NULL | 2017-08-20 14:06:46 |
-> | 272138 | NULL | NULL | NULL | NULL | NULL | NULL | NULL | 24.69 | NULL | NULL | NULL | 2017-08-20 14:06:46 |
-> | 272138 | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | 22.75 | NULL | NULL | 2017-08-20 14:06:46 |
-> | 272138 | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | 19.94 | NULL | 2017-08-20 14:06:46 |
-> | 272138 | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | 24.5 | 2017-08-20 14:06:46 |
-> +----------------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+------+---------------------+
どのようにこの行を1つにマージできますか? group by temp_series_id
と削除NULL値
SELECT
SQL_NO_CACHE
temp_series_id,
CASE WHEN temp_details_id = 1 THEN value END AS 'CO',
...
CASE WHEN temp_details_id = 11 THEN value END AS 'CD',
date
FROM (SELECT *
FROM temp_series
ORDER BY date DESC
LIMIT 1)
series INNER JOIN temp_object objects ON series.id = objects.temp_series_id
INNER JOIN temp_details details ON details.id = objects.temp_details_id;
ような何か私は
+----------------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+------+---------------------+
| temp_series_id | CO | DP | BO | DZ | KT | KR | DR | GZ | GP | PD | CD | date |
+----------------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+------+---------------------+
| 272138 | 21.12 | 20.06 | 18.69 | 21.81 | 22.06 | 22.44 | 14.69 | 24.69 | 22.75 | 19.94 | 24.5 | 2017-08-20 14:06:46 |
+----------------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+------+---------------------+
は、 'ピボットテーブル' –