将sql结果作为数组获取
Posted
技术标签:
【中文标题】将sql结果作为数组获取【英文标题】:Getting sql result as Array 【发布时间】:2014-09-22 08:27:53 【问题描述】:在 mysql 中是否可以从数据库中查询并以数组形式获取结果?
查询
SELECT foo.name,
(
SELECT data
FROM bar
WHERE id=foo.userid
) data
FROM table1 foo;
预期输出
+---------+------------------------+
| name | data |
+=========+========================+
| john | ['one','two','three'] |
| martha | ['one','five','nine'] |
+---------+------------------------+
谢谢!
【问题讨论】:
一个数组,还是每行一个数组?数组应该是什么样的?您指定的输出并不清楚。 SQL Results as php Array的可能重复 我相信这超出了经典关系 DBMS 的范围,对 ORM(对象关系映射)框架(例如 Hibernate)的研究,它们应该可以帮助您完成这项任务。 不行,必须是纯sql,不涉及php 数组表示在某些语言中是不同的。您需要准确说明您的需求才能获得帮助。 【参考方案1】:您可以使用GROUP_CONCAT
SELECT foo.name,(SELECT GROUP_CONCAT(data SEPARATOR ',')
FROM bar
WHERE id=foo.userid
GROUP BY data) AS data
FROM table1 foo;
【讨论】:
以上是关于将sql结果作为数组获取的主要内容,如果未能解决你的问题,请参考以下文章