Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/286.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Sql匹配多个条件,按最差技能对用户进行分组_Php_Mysql_Sql_Arrays_Laravel - Fatal编程技术网

Php Sql匹配多个条件,按最差技能对用户进行分组

Php Sql匹配多个条件,按最差技能对用户进行分组,php,mysql,sql,arrays,laravel,Php,Mysql,Sql,Arrays,Laravel,大家好。 我需要根据参与者的5项最差技能对他们进行分组,以便创建教室 我还需要知道,他们生活在世界的不同地区(美洲、欧洲和亚洲) 我需要在时区彼此距离不太远的地方(美洲和欧洲的一些国家,亚洲和欧洲的其他国家)混合搭配它们 我有160名参与者,我需要创建12个教室 参与者表: id name country_id ------------------ 1 | name | 8 | 2 | name2 | 3 | 3 | name | 4 | 4 | name2 | 8 | and so on

大家好。

我需要根据参与者的5项最差技能对他们进行分组,以便创建教室

我还需要知道,他们生活在世界的不同地区(美洲、欧洲和亚洲)

我需要在时区彼此距离不太远的地方(美洲和欧洲的一些国家,亚洲和欧洲的其他国家)混合搭配它们

我有160名参与者,我需要创建12个教室

参与者表:


id name country_id
------------------
1 | name  | 8 |
2 | name2 | 3 |
3 | name  | 4 |
4 | name2 | 8 |
and so on....
国家表:


id name 
------------------
1 | Japan      | 
2 | USA        | 
3 | Australia  | 
4 | UK         | 
and so on....
技巧


id name
------------------
1 | skill1      | 
2 | skill2      | 
3 | skill3      | 
4 | skill4      | 
and so on....
参与者技能表:


participant_id skill_id
------------------
1 | 2      | 
1 | 4      | 
1 | 3      | 
1 | 5      | 
1 | 9      | 
2 | 1      | 
2 | 4      | 
2 | 3      | 
2 | 6      | 
2 | 9      | 
3 | 2      | 
3 | 7      | 
3 | 8      | 
3 | 5      | 
3 | 9      | 
and so on....
理想情况下,结果会是这样:


group_id participant_id country_id
----------------------------------
1 | 5  | 1  |
1 | 63 | 4  |
1 | 71 | 5  |
1 | 95 | 4  |
1 | 18 | 5  |
1 | 83 | 8  |
1 | 44 | 1  |
1 | 4  | 8  |
1 | 73 | 5  |
1 | 36 | 12 |
1 | 53 | 12 |
1 | 12 | 8  |
1 | 21 | 5  |
1 | 10 | 4  |
2 | 34 | 13 |
2 | 22 | 13 |
2 | 2  | 15 |
and so on...
你知道怎么让它工作吗

非常感谢,非常高兴^^

E

**更新 通过运行此SQL查询,我成功地选择了最差的5项技能:

select p.id, p.name, s.id from `participants` p
left join `regions` r on p.`region_id` = r.`id`
left join `participant_skill` ps on p.`id` = ps.`participant_id`
left join skills s on ps.`skill_id` = s.`id`
where ps.`rank` > 11
现在,我不知道如何根据参与者最差的技能和地区将他们匹配在一起。

这是一堆桌子。

我希望这有帮助


)()

您应该尝试自己编写代码。之后,如果你仍然有问题,那么发布你尝试过的内容,清楚地解释哪些不起作用,并提供一个解决方案。读一个好问题。一定要阅读和阅读。我只是不知道如何做到这一点,我自己。。。因此,目前还没有任何代码可供测试或复制:)你如何知道哪些技能最差?他们填写了一份调查问卷。我用php对它们进行数字化和排序,然后将它们存储在pivot表中。请看-我并不是假装这个np完全问题的解决方案很简单,但至少数据集相当小。您应该尝试自己编写代码。之后,如果你仍然有问题,那么发布你尝试过的内容,清楚地解释哪些不起作用,并提供一个解决方案。读一个好问题。一定要阅读和阅读。我只是不知道如何做到这一点,我自己。。。因此,目前还没有任何代码可供测试或复制:)你如何知道哪些技能最差?他们填写了一份调查问卷。我用php对它们进行数字化和排序,然后将它们存储在pivot表中。请看,我并不是假装这个np完全问题的解决方案很简单,但至少数据集相当小。