Как получить запрос для отображения результатов в столбцах, а не в строках? - PullRequest
0 голосов
/ 24 октября 2018

У меня есть следующий запрос BigQuery:

SELECT avg(order_total)  as currentVal FROM ...

UNION ALL

select AVG(order_total)  as lastVal FROM ...

Это дает мне:

Row currentVal  
1    28.50161137440758
2    25.068

Как я могу получить его как:

Row currentVal          lastVal
1    28.50161137440758  25.068

Ответы [ 3 ]

0 голосов
/ 24 октября 2018

случай использования, как показано ниже

    select max(case when row=1 then currentVal end) as currentVal,
            max(case when row=2 then currentVal end) as lastVal  from 
   (
    SELECT 1 as row avg(order_total)  as currentVal FROM ...

    UNION ALL

    select 2 , AVG(order_total)  as lastVal FROM 
  ) t
0 голосов
/ 24 октября 2018

Я думаю, что использование подзапросов было бы самым простым способом получить его.

select 
(select AVG(order_total) from ...) as currentVal,
(select  AVG(order_total) from ...) as lastVal 
0 голосов
/ 24 октября 2018

Вы можете использовать подзапрос и выполнить агрегирование:

SELECT AVG(currentVal) AS currentVal, AVG(lastVal) AS lastVal
FROM (SELECT order_total AS currentVal, 0 AS lastVal  
      FROM ...
      UNION ALL
      SELECT 0, order_total 
      FROM ...
     ) t;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...