Группировать по среднему по подзапросу Bigquery - PullRequest
0 голосов
/ 08 января 2020

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


SELECT * 
From 
(
SELECT 'ADS-B Average Latency for Asia' as metric_name, 'Daily' as metric_period_type,
  DATE(timestamp) as metric_date, collection_type, UNIX_SECONDS(ingestion_time) - UNIX_SECONDS(timestamp) as latency
  FROM `analytics.aoi_table` a
  order by metric_date
) table 

Это таблица: enter image description here

Когда я пытаюсь выполнить avg и сгруппировать по таблице выше, используя sql ниже, я получаю следующую ошибку: Синтаксическая ошибка: ожидается ")", но получил ключевое слово GROUP в [10: 3]

SQL, что вызывает ошибку:

#standardSQL

SELECT * 
From 
(
SELECT 'ADS-B Average Latency for Asia' as metric_name,
  DATE(timestamp) as metric_date, collection_type, AVG(UNIX_SECONDS(ingestion_time) - UNIX_SECONDS(timestamp)) as latency
  FROM `ais-data-analysis.customer_analytics.itochu_aoi_table` a
  order by metric_date
  group by metric_date, collection_type
) table 


Ответы [ 2 ]

1 голос
/ 08 января 2020

Предложение order by идет после предложения group by. Кроме того, нет необходимости переносить запрос, вы можете просто сделать:

SELECT 
    'ADS-B Average Latency for Asia' as metric_name,
    DATE(timestamp) as metric_date, 
    collection_type, 
    AVG(UNIX_SECONDS(ingestion_time) - UNIX_SECONDS(timestamp)) as latency
FROM `ais-data-analysis.customer_analytics.itochu_aoi_table` a
GROUP BY metric_date, collection_type
ORDER BY metric_date, collection_type
1 голос
/ 08 января 2020

Ваши group by и order by не в порядке. Кроме того, вам не нужен подзапрос:

select 'ADS-B Average Latency for Asia' as metric_name,
       DATE(timestamp) as metric_date, collection_type, AVG(UNIX_SECONDS(ingestion_time) - UNIX_SECONDS(timestamp)) as latency
from `ais-data-analysis.customer_analytics.itochu_aoi_table` a
group by metric_date, collection_type
order by metric_date
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...