首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SQL:查找所有当前使用的组合

SQL:查找所有当前使用的组合
EN

Stack Overflow用户
提问于 2020-03-17 16:26:35
回答 1查看 39关注 0票数 0

在用户和策略之间提供了很多表,如下所示:

代码语言:javascript
复制
policy_id| user_id 
---------|---------
    1    |   1     
    3    |   1     
    6    |   1     
    2    |   2     
    4    |   3     
    6    |   4    
    5    |   5    
    7    |   5
    6    |   7 
    6    |   8 

我正在寻找一个列表的所有唯一组合的策略,是活跃的/正在使用的用户。

我正在寻找的结果是:

现行政策组合: 1,3,6,2,4,6,5,7

这在一个查询中是可能的吗?我提供的唯一解决方案是扫描整个表,并将每个组合加载到一个集中,筛选出重复的集合。

编辑:

对意图和目的负责。

我正致力于将生成的一组策略的实时处理分离出来,我们向用户显示并缓存这些信息,这样我们就不会不断地重新计算了。对于给定时间内的一组策略,用户接收确定数量的消息。

例如,如果您有策略1,2,3 -我们计算并确定您要接收消息2,5。目前,我们正在计算/处理每一个客户端查询。我希望确定所有可能的策略组合,以便能够预先执行映射。

EN

回答 1

Stack Overflow用户

发布于 2020-03-17 16:27:45

您可以聚合两次:

代码语言:javascript
复制
select policies, count(*) as num_users
from (select user_id, array_agg(distinct policy_id order by policy_id) as policies
      from t
      group by user_id
     ) u
group by policies;
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60726390

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档