小编use*_*744的帖子

累积非重复计数

我正在查询以每天获取累积的不同 uid 计数。

示例:假设有 2 个 uids (100,200) 出现在日期 2016-11-01 并且它们也在第二天出现在 2016-11-02 的新 uid 300 (100,200,300) 此时我希望存储累积计数为 3,而不是5 as(用户 ID 100 和 200 已在过去一天出现)。

Input table:

    date            uid         
2016-11-01          100
2016-11-01          200
2016-11-01          300
2016-11-01          400         
2016-11-02          100
2016-11-02          200                 
2016-11-03          300
2016-11-03          400
2016-11-03          500
2016-11-03          600
2016-11-04          700

Expected query result:

date            daily_cumulative_count
2016-11-01              4   
2016-11-02              4
2016-11-03              6
2016-11-04              7
Run Code Online (Sandbox Code Playgroud)

到目前为止,我每天都能获得累积的不同计数,但它也包括前一天的不同 uid。

SELECT 
  date, 
  SUM(count) OVER (
    ORDER BY date ASC 
    ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT …
Run Code Online (Sandbox Code Playgroud)

sql presto

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

标签 统计

presto ×1

sql ×1