Php 从MySQL中的3个类别中获取所有可能的组合
我有3个类别(cate1,cate2,cate3),数据库中有14行。我喜欢得到所有可能的组合 数据库: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)
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个项目作为我的“结果”例。请帮我找到一个问题。有没有办法防止同一行在每次“命中”时出现多次?