小编Spa*_*mel的帖子

SQL - 不等左连接 BigQuery

新来的。随着时间的推移,我试图获得每日和每周的活跃用户。他们有 30 天的时间才能被视为不活跃。我的目标是创建可以按 user_id 拆分的图表,以显示群组、地区、类别等。

我创建了一个日期表来获取该时间段的每一天,并且我有一个简化的订单表,其中包含我需要计算的基本信息。

我正在尝试使用以下 SQL 查询执行 Left Join 以按日期获取状态:

WITH daily_use AS (
        SELECT
          __key__.id AS user_id
          , DATE_TRUNC(date(placeOrderDate), day) AS activity_date
        FROM `analysis.Order`
        where isBuyingGroupOrder = TRUE 
          AND testOrder = FALSE
        GROUP BY 1, 2
 ),
dates AS (
        SELECT DATE_ADD(DATE "2016-01-01", INTERVAL d.d DAY) AS date
        FROM
          (
           SELECT ROW_NUMBER() OVER(ORDER BY __key__.id) -1 AS d
           FROM `analysis.Order`
           ORDER BY __key__.id
           LIMIT 1096
          ) AS  d
        ORDER BY 1 DESC
      )

SELECT
      daily_use.user_id
    , wd.date …
Run Code Online (Sandbox Code Playgroud)

sql google-bigquery bigquery-standard-sql

2
推荐指数
1
解决办法
2万
查看次数