【发布时间】:2021-02-03 03:07:43
【问题描述】:
我有一个这样创建的 MySQL 数据库表
CREATE TABLE table1 (
column1 varchar(50),
column2 varchar(50),
column3 int(3)
);
INSERT INTO table1
VALUES ("column1 value1", "column2 value1", 120),
("column1 value1", "column2 value1", 240),
("column1 value2", "column2 value1", 240),
("column1 value2", "column2 value2", 10);
在这张桌子上。我执行这个 SQL 查询:
SELECT column1, column2, SUM(column3) FROM table1 GROUP BY column1, column2
是否可以将结果提取到一个多维关联数组中,其中column1 作为“级别 1”键,column2 & column3 作为键值对?
想要的结果:
Array
(
[column1 value] => Array
(
[column2 value] => column3 value
)
)
我尝试使用 PDO::FETCH_GROUP|PDO::FETCH_UNIQUE|PDO::FETCH_ASSOC 作为 fetch 样式参数,但结果是:
Array
(
[column1 value] => Array
(
[column2 key] => column2 value
[column3 key] => column3 value
)
)
这就是我执行查询并获取结果的方式:
$stmt = $pdo->prepare("SELECT column1, column2, SUM(column3) FROM table GROUP BY column1, column2");
$stmt->execute();
$result = $stmt->fetchAll(PDO::FETCH_GROUP|PDO::FETCH_UNIQUE|PDO::FETCH_ASSOC);
是否有一种 fetch 样式组合可以获得我想要的结果,还是我必须以编程方式执行此操作?
【问题讨论】:
标签: php mysql arrays multidimensional-array pdo