小编典典

如何使用PHP执行SQL的GROUP?

sql

我想从数据库表中选择行,然后使用PHP而不是基于参数的SQL(在此情况下,按项目)对行进行分组。

SQL:

Clothes table

 id  item     owner
 1   shoes     joe 
 2   pants     joe
 3   hat       joe
 4   pants     joe
 5   hat       tom

SELECT * from Clothes where owner='joe'

 1   shoes     joe 
 2   pants     joe
 3   hat       joe
 4   pants     joe

这就是我希望使用PHP而不是SQL来查看结果的方式 GROUP BY item

的PHP:

 1   shoes     joe 
 2   pants     joe   //count 2
 3   hat       joe

我确定有一个PHP数组函数,对此我并不陌生,有想法吗?


阅读 220

收藏
2021-04-14

共1个答案

小编典典

最简单的方法是利用数组键的唯一性:

$grouped = array();

while ($row = $db->fetchResult()) {  // or however you get your data
    if (isset($grouped[$row['item']])) {
        $grouped[$row['item']]['count']++;
    } else {
        $grouped[$row['item']] = $row + array('count' => 1);
    }
}
2021-04-14