【问题标题】:Group by and average on subquery Bigquery对子查询 Bigquery 进行分组和平均
【发布时间】:2020-01-08 14:09:17
【问题描述】:

我正在尝试按日期对记录进行分组,并针对该特定日期获取称为延迟的列之一的平均值。我有以下标准 SQL 查询,当我尝试获取表的 avg 和 group by 时,该查询有效但不起作用:


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 

这是表格:

当我尝试使用下面的 sql 对上表进行 avg 和 group by 时,我收到以下错误:语法错误:预期为“)”但在 [10:3] 获得关键字 GROUP

导致错误的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 


【问题讨论】:

    标签: sql group-by google-bigquery average


    【解决方案1】:

    您的group byorder 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
    

    【讨论】:

      【解决方案2】:

      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
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2022-11-13
        • 1970-01-01
        • 2021-10-22
        • 1970-01-01
        相关资源
        最近更新 更多