Php 从MySQL中的3个类别中获取所有可能的组合

Php 从MySQL中的3个类别中获取所有可能的组合,php,mysql,Php,Mysql,我有3个类别(cate1,cate2,cate3),数据库中有14行。我喜欢得到所有可能的组合 数据库: id category 1 cate1 2 cate2 3 cate3 6 cate1 7 cate2 8 cate3 9 cate1 10 cate2 11 cate3 12 cate1 13 cate2 14 cate3 结果: [0] cate1 = 1 (id) cate2 = 2 (id)

我有3个类别(cate1,cate2,cate3),数据库中有14行。我喜欢得到所有可能的组合

数据库:

id   category   
1    cate1
2    cate2
3    cate3
6    cate1
7    cate2
8    cate3
9    cate1
10   cate2
11   cate3
12   cate1
13   cate2
14   cate3
结果:

[0]
    cate1 = 1  (id)
    cate2 = 2  (id)
    cate3 = 3  (id)
[1]
    cate1 = 6  (id)
    cate2 = 7  (id)
    cate3 = 8  (id)
[2]
    cate1 = 9  (id)
    cate2 = 10 (id)
    cate3 = 11 (id)
…等等,列出所有组合


请帮助

如果我理解正确,您希望对每个类别进行交叉连接:

select c1.id, c2.id, c3.id
from (select t.* from t where category = 'cate1') c1 cross join
     (select t.* from t where category = 'cate2') c2 cross join
     (select t.* from t where category = 'cate3') c3;

如果我理解正确,您需要对每个类别进行
交叉联接

select c1.id, c2.id, c3.id
from (select t.* from t where category = 'cate1') c1 cross join
     (select t.* from t where category = 'cate2') c2 cross join
     (select t.* from t where category = 'cate3') c3;

你想把他们按类别分组吗?介意把你想要的结果和你尝试过的东西一起贴出来吗?你的问题还不清楚。请进一步解释。所有可能的组合是什么?我修正了。。一秒钟:)刚刚用结果示例更新了问题。你想按类别对其进行分组吗?介意将你想要的结果和你尝试过的内容一起发布吗?你的问题不清楚。请进一步解释。所有可能的组合是什么?我修正了。。一秒钟:)刚刚用一个结果例子更新了这个问题。我无法让它工作。每行仅获取1项。我喜欢它是每行3个项目作为我的“结果”例。请帮我找到一个问题。有没有办法防止同一行在每次“点击”时出现不止一次?我无法让它工作。每行仅获取1项。我喜欢它是每行3个项目作为我的“结果”例。请帮我找到一个问题。有没有办法防止同一行在每次“命中”时出现多次?