gpt4 book ai didi

SQL:对更多组进行 COUNT DISTINCT

转载 作者:行者123 更新时间:2023-11-29 13:43:58 31 4
gpt4 key购买 nike

我有这个问题:

SELECT 
date_trunc('week', q.order_date::date+2)::date-2 AS weekly,
COUNT(DISTINCT q.provider_username) AS engaged_providers
FROM tbl_quotes q
GROUP BY weekly

我需要的是 COUNT(DISTINCT q.provider_username) 超过 4 周,而不仅仅是一个,而且我不想更改我的日期截断。显然我不能使用 OVER(ORDER BY ...) 因为 DISTINCT 没有为窗口函数实现。还有其他解决方案吗?

最佳答案

样本数据和期望的结果会很有帮助。对于您的问题的一种解释,我建议使用相关子查询。日期算法有点神秘,但我认为这就是您想要的:

SELECT weekly,
(SELECT COUNT(DISTINCT q.provider_username)
FROM tbl_quotes q
WHERE q.order_date >= w.weekly - interval '3 week' and
q.order_date < w.weekly + interval '1 week'
) as engaged_providers
FROM (SELECT DISTINCT date_trunc('week', q.order_date::date+2)::date-2 as weekly
FROM tbl_quotes q
) w;

关于SQL:对更多组进行 COUNT DISTINCT,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51345618/

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