让我们假设我必须与很多有很多猫的祖母打交道。我有一张表granny_cat:
granny_id | kitty_name
--------------------
1 Kizzy
1 Jimmy
1 Katty
2 Georges
2 Albert
3 Panther
我想要检索一个奶奶1猫的列表,即获得类似的东西(使用php语法)
array("Kizzy","Jimmy","Katty")
然而,查询
SELECT kitty_name WHERE granny_id = 1
返回类似
的内容array
(
array('kitty_name' => "Kizzy"),
array('kitty_name' => "Jimmy"),
array('kitty_name' => "Katty")
)
什么是合乎逻辑的,因为我可以使用类似的查询获取两个或更多字段。我显然可以映射这个数组来获得我想要的东西,但是,我想知道是否有一种(简单的)方法直接从mysql获取它。或者不是。
感谢。
答案 0 :(得分:1)
SELECT GROUP_CONCAT(kitty_name)
FROM mytable
WHERE granny_id = 1
将为您提供以逗号分隔的列表,您可以explode
进入数组。
MySQL
不支持本机数组数据类型。在PostgreSQL
中,您可以执行以下操作:
SELECT ARRAY
(
SELECT kitty_name
FROM mytable
WHERE granny_id = 1
) AS kitties
,它会为您提供原生的PHP
数组。
答案 1 :(得分:0)