使用 SQL 计数组合 [关闭]

Posted

技术标签:

【中文标题】使用 SQL 计数组合 [关闭]【英文标题】:Counting Combinations With SQL [closed] 【发布时间】:2018-01-22 20:39:51 【问题描述】:

我有一个具有唯一 transaction_id 和许多 0/1 值变量列的数据表。我试图弄清楚如何计算和总结每个组合并显示输出 - 我的数据表在 impala 数据库中,我正在尝试使用 sql 来解决问题。

例如:

0001 / 1 / 0 / 1 / 0

0002 / 0 / 1 / 1 / 1

0003 / 1 / 0 / 1 / 0

我想要这样的输出:

Combo A (1/0/1/0) = 2

Combo B (0/1/1/1) = 1

在我处理 100,000 行数据时,有没有一种有效的方法来实现这一点。

谢谢,

【问题讨论】:

为什么是 1 而不是 3? 因为 0/1/1/1 的组合在表格中只出现过一次,而 1/0/1/0 出现过两次。我不是想把这些列加在一起。尝试计算所有交易中的不同组合。 我明白了。你能把你表的内容贴出来吗? 它在我的工作计算机上,但它与我发布的示例非常相似,只有大约 15 个变量。 我会修改架构 【参考方案1】:

查看您的数据样本

您可以使用适当的计数和分组方式组合

select   count(*), col1, col2, col3, col4
from your table  
group by col1, col2, col3, col4 

【讨论】:

这正是我想要的。谢谢。

以上是关于使用 SQL 计数组合 [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

在sql中组合多个计数查询

SQL CREATE SEQUENCE 基于日期和计数器的组合

如何在一个 SQL Server 查询中组合不同的计数

sql 在每天结束时关闭不同的计数

SQL聚合中同一列内的多个值的不同计数

SQL语句汇总(三)——聚合函数分组子查询及组合查询 - Darly