当前位置: 首页 > 面试题库 >

如何使用PHP执行SQL的GROUP?

季骏祥
2023-03-14
问题内容

我想从数据库表中选择行,然后使用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数组函数,对此我并不陌生,有想法吗?


问题答案:

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

$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);
    }
}


 类似资料:
  • 问题内容: 我正在尝试使用Oracle 11g(在开发中为11.1,在生产中为11.2)进行数值分析,特别是在具有三列感兴趣的表的表上进行线性插值:时间戳,设备ID和值。 值列保存来自设备的数据(标识为deviceid),该数据是在时间戳记中指定的时间获取的。例如,这是伪数据,但是它给出了这样的想法: 来自设备001的时间戳与设备002的时间戳不匹配,但是我需要将来自设备001和002的值放在一行

  • 要在spark sql中运行sql语句以联接PostgreSQL中的两个表,请执行以下操作: 数据库引擎会执行联接操作并发回联接结果吗?或者数据库会将表_1和表_2的所有记录发送给spark job和spark job进行连接吗?是否有一些文档来解释此操作?谢谢

  • 我正在使用贝宝/签出-php-sdk,但我不知道创建订单后该做什么。 我可以成功创建订单: 正如你看到的,我把return_url到“/执行命令”, 因此,PayPal在验证后将我重定向到此url: 但我不知道下一步该怎么办。我必须执行付款,但在包的示例中,我只找到createOrder和captureOrder,但没有executeOrder

  • 问题内容: 是否可以使用T-SQL执行存储在表中的SQL语句? 表中存储的语句是临时语句,可以是 SELECT TOP 100 * FROM ATable 到更复杂的语句: 我想执行从T-SQL声明的 @Query 变量。这可能吗?(我正在运行MSSQL 2005环境) 问题答案: 您可以使用 运行您的T-SQL 这是SQL Server 2005的MS docn的链接 http://msdn.m

  • 问题内容: 我无法执行长脚本,PDO引发异常: 如果我提交的脚本不包含变量,它将运行而不会出现问题。相同的脚本在phpmyadmin界面上运行。 这是我的代码段: 这是一些不能由PDO执行的测试: 我应该如何用pdo执行多行脚本? 感谢 阿曼。 问题答案: PDO不允许在一个query()请求中执行多个语句。但是您的@ra_LMC变量应该在当前连接中可见,因此您可以将第二行(SELECT)放入新的

  • 问题内容: 我想从localhost上的PHP执行PhantomJS。 谁能解释如何从PHP执行PhantomJS,以及我应该从phantomjs.org下载哪个软件包? 问题答案: 下载PhantomJS二进制文件,将其上传到某个地方并使其可执行() 如果要制作屏幕截图,请设置fontconfig(这是我的配置所特有的,但目的是确保系统上至少有一些字体) 在PHP中运行以下命令: