Как сгруппировать строки в выходные столбцы по дате - PullRequest
1 голос
/ 18 июня 2020

У меня есть данные в таблице MariaDB, подобные приведенной ниже. В основном это данные о погоде в двух местах, и я хочу передать эти данные в статистическую программу. Я хочу вывести данные таким образом, чтобы строки группировались по дате и времени, но значения сгруппированных строк помещались в столбцы.

obsv_location   obsv_value    obsv_datetime
-------------   ----------    -------------
airport1        35.0          2020-01-01 12:00
airport2        35.2          2020-01-01 12:00
airport1        36.5          2020-01-01 13:00
airport2        36.4          2020-01-01 13:00

Можно ли создать запрос, который выводит что-то вроде следующего?

obsv_datetime     airport1    airport2
-------------     --------    -------------
2020-01-01 12:00  35.0        35.2
2020-01-01 13:00  36.5        36.4

1 Ответ

1 голос
/ 18 июня 2020

Один метод использует join; еще одна условная агрегация. Второй:

select obsv_datetime,
       max(case when obsv_location = 'airport1' then obsv_value end) as airport1,
       max(case when obsv_location = 'airport2' then obsv_value end) as airport2
from t
group by obsv_datetime;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...