sql - 在 BigQuery 上运行过去 30 天的 Sum
问题描述
我试图在 BigQuery 中的 Google Merchandise Store 公共数据集上获取以下查询:
- 日期
- 不同用户数
- 过去 30 天不同用户数的运行总和
例如(为简单起见,我在示例中使用了 3 天):
date distinct_users distinct_users_3days
15/07/2018 8 15
14/07/2018 2 12
13/07/2018 5 20
12/07/2018 5 15
11/07/2018 10 10
...
这是我当前的 SQL 代码,它获取前两列,但我不知道如何获得运行总和:
SELECT
date,
COUNT(DISTINCT(fullVisitorId)) as daily_active_user
FROM
`bigquery-public-data.google_analytics_sample.ga_sessions_2017*`
WHERE
_table_suffix BETWEEN "0101"
AND "0715"
GROUP BY
date
任何帮助表示赞赏!:)
解决方案
请尝试以下查询 3 天 (SQL server 2014 )-:
SELECT date,COUNT(DISTINCT(fullVisitorId)) as daily_active_user,sum(COUNT(DISTINCT(fullVisitorId))) over (PARTITION BY null ORDER BY date desc ROWS
BETWEEN CURRENT ROW AND 2 FOLLOWING) AS distinct_users_3days FROM YOUR_TABLE_NAME WHERE _table_suffix BETWEEN '0101' AND '715' GROUP BY date
30天-:
SELECT
date,COUNT(DISTINCT(fullVisitorId)) as daily_active_user,
sum(COUNT(DISTINCT(fullVisitorId))) over (PARTITION BY null ORDER BY date desc ROWS
BETWEEN CURRENT ROW AND 29 FOLLOWING) AS distinct_users_3days
FROM YOUR_TABLE_NAME
WHERE _table_suffix
BETWEEN '0101' AND '715'
GROUP BY date
推荐阅读
- visual-studio - Visual Studio 中的 ChangeAll 命令
- angular - 无法在 Angular 组件中模拟错误响应?
- objective-c - 在 NSOpenPanel/NSSavePanel 中显示 Mac 设备
- php - 元素没有以递归方式动态添加到数组中
- java - Spring Security - 需要添加自定义cookies
- php - VBA Excel、PHP MySQL - 数据循环、转置、范围、列表视图、数组
- javascript - 无法在 chrome 中加载音频文件
- c# - 加载不同版本的同一个dll,依赖也不同?
- c++ - Compiling a C++ program from cmd using TCC in turbo c++
- python - pymysql execute() - 返回值不等于受影响的行数