php - sql group by 重复结果

标签 php mysql sql group-by

我试图创建一个带有计数的制造商列表。

这是我的查询

$query = $this->pdo->prepare('SELECT manufacture, count(*) AS count
                                      FROM listed_watches
                                      GROUP BY manufacture');

但是当我执行 print_r 时,它会复制结果。它显示“制造”和“计数”,但也显示[0]和[1],为什么?

我只想显示[制造商]、[数量]

Array
(
    [0] => Array
        (
            [manufacture] => Audemars Piguet
            [0] => Audemars Piguet
            [count] => 2
            [1] => 2
        )

    [1] => Array
        (
            [manufacture] => Bell and Ross
            [0] => Bell and Ross
            [count] => 3
            [1] => 3
        )

    [2] => Array
        (
            [manufacture] => Bulova
            [0] => Bulova
            [count] => 1
            [1] => 1
        )

)

最佳答案

试试这个:

$result = $query->fetchAll(PDO::FETCH_ASSOC);

您可以在初始化连接时默认使用此获取方法:

$pdo_options[PDO::ATTR_DEFAULT_FETCH_MODE] = PDO::FETCH_ASSOC;

关于php - sql group by 重复结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28085431/

相关文章:

PHP MySQL 错误 - 我没有登录数据库

SQL Server - UPDATE 语句中的 JOIN

php - Android JSON 解析器将多份数据发送到服务器

php - 将JS中的数组发送到php

mysql - 从日志表中为每个用户选择最后一个条目

c# - Asp.Net 连接表,以便它们可以正确排序 C# LINQ

mysql - 合并 SQL 中相似 ID 的行?

sql - 如果不存在数据 SQL Server 2016 添加清零行

php - INSERT/VALUES 未提交

PHP:file_get_contents 无法打开流:连接被拒绝