PHP或SQL计数colum元素并分开

时间:2016-10-18 21:25:39

标签: php mysql

我没有找到sollution,我有一个json文件(或者我有sql表):

[{"userid ": 1,"rank": 1}, {"userid ": 1,"rank": 2}]

有这个colums:

userid || rank
1      || 1
1      || 2
1      || 5
2      || 1     
2      || 2
2      || 4
3      || 1 

我会收集用户排名,如下所示:

1 -> 1,2,5
2 -> 1,2,4
3 -> 1

3 个答案:

答案 0 :(得分:1)

如果是JSON,你可以尝试这样的事情:

<?php
$json = '[{"userid": 1,"rank": 1}, {"userid": 1,"rank": 2}]';
$ja = json_decode($json);
foreach ($ja as $item) {
    $ranks[$item->userid][] = $item->rank;
}
print_r($ranks);

答案 1 :(得分:1)

如果这是一个SQL数据库表,您只需将行分组并连接rank列:

SELECT userid, GROUP_CONCAT(rank)
FROM table
GROUP BY userid

答案 2 :(得分:0)

以这种方式尝试$stack[$userid][]=$rank;