【问题标题】:How do I add a running total of users alongside the new users added by day?如何在每天添加的新用户旁边添加运行用户总数?
【发布时间】:2020-08-04 18:02:57
【问题描述】:

我正在尝试显示今天添加的新用户以及总数。

这个

SELECT
DATE("CreatedAt"),
COUNT(DATE("CreatedAt")),
COUNT(DISTINCT"Id")

FROM "User"

GROUP BY DATE("CreatedAt")
ORDER BY DATE("CreatedAt") DESC

输出这个

Date.         New  Total
"2020-04-21"    50  50
"2020-04-20"    40  40
"2020-04-19"    30  30
"2020-04-18"    20  20
"2020-04-17"    10  10

如何在“总计”列上显示用户总数(迄今为止)? 21 号应该是 150。

【问题讨论】:

    标签: sql postgresql date group-by count


    【解决方案1】:

    您可以为此使用窗口函数:基本上,您需要每个组的行数的窗口总和,例如:

    select
        date("CreatedAt") created_day,
        count(*) "New",
        sum(count(*)) over(order by date("CreatedAt")) "Total"
    from "User"
    group by date("CreatedAt")
    order by created_day desc
    

    【讨论】:

      猜你喜欢
      • 2021-06-17
      • 1970-01-01
      • 2021-08-06
      • 2013-07-31
      • 1970-01-01
      • 1970-01-01
      • 2012-06-13
      • 2019-12-20
      • 2015-11-21
      相关资源
      最近更新 更多