gpt4 book ai didi

sql - 计算每天使用的不同 ID 数

转载 作者:行者123 更新时间:2023-11-29 13:46:41 26 4
gpt4 key购买 nike

我有一个具有以下一般结构的表,其中包含一个工作周的交易值(value),每笔交易都与一个卡 ID 相关联:

CardID----Time(timestamp)
1 2017-07-31 13:03:00
1 2017-08-03 14:00:01
1 2017-08-03 19:32:33
2 2017-08-01 09:09:09
2 2017-08-01 12:03:45
3 2017-08-02 15:31:00
4 2017-08-02 20:09:10
4 2017-08-04 10:38:12
5 2017-07-31 11:35:03
5 2017-08-01 11:30:12
5 2017-08-02 11:32:53
5 2017-08-03 11:43:31
5 2017-08-04 11:12:21

我试图返回每个不同 ID 每天的简单事件列表,但具体日期并不重要,每天的实际交易数量也不重要。本质上,代码应该返回如下内容:

DaysInWeek----#Cards
1 2
2 2
3 0
4 0
5 1

我目前的代码如下:

select distinct dow
,count(distinct id)
from (
select distinct id,
count(date_trunc('day', tiempo2)) as dow
from public.etapas
group by 1
)a
group by 1

但是,它返回 DaysInWeek 的 89 行,范围从 1 到 113。我不知道这个错误可能来自哪里,但怀疑它与 date_trunc 和日期有关格式(时间戳)。但是,当我运行仅返回 dow 的更简单代码时,正如预期的那样只有 5 行。

最佳答案

如果我没理解错的话,你似乎想要:

select numdays, count(*) 
from (select id, count(distinct date_trunc('day', tiempo2)) as numdays
from public.etapas
group by id
) e
group by numdays
order by numdays;

关于sql - 计算每天使用的不同 ID 数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47183536/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com