Php 按第二列的值获取分组

Php 按第二列的值获取分组,php,pdo,Php,Pdo,下面的代码教我如何按第一列对结果进行分组。但我不知道如何处理第二列。请解释一下,给我举一些能让我清楚理解的例子。非常感谢你。(对我的英语感到抱歉) 最重要的是我是否可以根据表字段的名称进行分组。(在这种情况下,我不关心列名的索引,我只知道字段名称)。谢谢,因为:结果是按第一列的值分组的,所以只需更改: $sth = $dbh->prepare("SELECT name, colour FROM fruit"); 到 复制粘贴的cf代码示例: /* Group values by the

下面的代码教我如何按第一列对结果进行分组。但我不知道如何处理第二列。请解释一下,给我举一些能让我清楚理解的例子。非常感谢你。(对我的英语感到抱歉)

最重要的是我是否可以根据表字段的名称进行分组。(在这种情况下,我不关心列名的索引,我只知道字段名称)。谢谢,因为:结果是按第一列的值分组的,所以只需更改:

$sth = $dbh->prepare("SELECT name, colour FROM fruit");

复制粘贴的cf代码示例:

/* Group values by the >> FIRST << column */
var_dump($sth->fetchAll(PDO::FETCH_COLUMN|PDO::FETCH_GROUP));

我不知道它是否有效。试试看。

$sth->fetchAll(PDO::FETCH_COLUMN | PDO::FETCH_GROUP,numIndex);我刚发现。这可能是正确的。“列是零索引的”-就像PHP等;)+1个我不知道的伟大功能。@Fred ii-:谢谢,但值得称赞的是,我在回复OP的评论时添加了这一点。。。我会交换查询中的列:-PI我开始考虑OP是否需要标准分组,此时lol-OP只是用他/她想要的内容编辑了问题,设置为粗体。应该留下我最初的评论吗?lol
FETCH_UNIQUE
!=
FETCH_GROUP
,并且无论哪种方式:引用手册:“
PDO::FETCH_COLUMN
:返回指定的0索引列”因此
columnName
刚刚好,然后阅读手册,
columnName
仍然不是一个选项,尽管“最重要的是我是否可以根据表字段的名称进行分组。”-然后使用MySQL的GROUP BY子句如果您希望能够根据字段名对结果集进行分组,那么您最好多了解一下MySQL的功能:
GROUP BY
是我使用GROUP BY时更好的工具。我没有我想要的结果。然后使用ORDER BY-向我们展示一个您想要的示例输出。我正在编写一个PHP框架。我的职责之一就是做上面的事情。我可以查询一些PHP,然后编写代码以得到我想要的结果。但我希望有一个更短的方法来做到这一点。
$sth = $dbh->prepare("SELECT colour, name FROM fruit");
/* Group values by the >> FIRST << column */
var_dump($sth->fetchAll(PDO::FETCH_COLUMN|PDO::FETCH_GROUP));
$sth = $dbh->prepare("SELECT name, colour FROM fruit");
$byName = $sth->fetchAll(PDO::FETCH_COLUMN|PDO::FETCH_GROUP);
$byColour = $sth->fetchAll(PDO::FETCH_COLUMN|PDO::FETCH_GROUP, 1);
$sth->fetchAll(PDO::FETCH_COLUMN|PDO::FETCH_GROUP, columnIndex);
$sth->fetchAll(PDO::FETCH_UNIQUE|PDO::FETCH_GROUP, columnName);