Mysql计数6列之间的数字组合


Mysql count number combination between 6 columns

我一直在四处寻找,但仍然找不到解决方案。我想做的是建立一个函数,统计数据库中1,2,3,4,5,6唯一可能性的所有组合。

示例

给定列a,b,c,d,e,f 中的数字01,02,03,04,05,06

(数字不会水平重复)

1) 检查所有唯一的组合并计算重复

计数x组合(示例)

10 - 01,02,03,04,05,06   
09 - 01,02,03,04,05    
08 - 01,02,03,04         
07 - 01,02,03           
06 - 01,02               
05 - 01 

[更新]

为了更清楚,我有6列用随机数字(01-60)填充,如02 05 09 22 32 33

我需要做的是检查和计数(02 05)是在整列中重复还是(02 09)、(02 22)、(01 32)。。。然后对(02 05 09)执行相同操作。。。(02 05 09 22)。。。(02 05 09 22 32)。。。(02 05 09 22 32 33)。。。

我试着使用这条线,但它只计算前两列之间的2个数字的组合

Select d1, d2, count(*) as 'count' from tb group by d1, d2

谢谢!

我相信您正在通过可能的组合寻找重复组的计数

试试这个

SELECT 
count(*) repetition,CONCAT(A,', ',B,', ',C,', ',D,', ',E,', ',F) combination 
FROM tablename 
GROUP BY CONCAT(A,B,C,D,E,F)