我正在寻找一个有效的方法来检索每个相关的独特的项目 id
在mysql查询中。下面用一个示例表和所需的输出(如下所示)来解释这个目标 json
). 我到目前为止的进展也如下。
table
+----+------+------+
| id | var1 | var2 |
+----+------+------+
| 1 | a | b |
+----+------+------+
| 2 | a | c |
+----+------+------+
| 3 | c | b |
+----+------+------+
| 4 | a | c |
+----+------+------+
| 5 | a | b |
+----+------+------+
期望输出
{
var1: a,
var2: b,
ids: 1,5
},
{
var1: a,
var2: c,
ids: 2,4
}
到目前为止,我有一个查询,它准确地返回匹配var1和var2唯一的行:
`SELECT base_currency,quote_currency FROM pf_items GROUP BY base_currency,quote_currency`
我遇到的问题还包括 id
字段作为一个数组来实现接近上面所期望的输出。
我一直在寻找这个问题的答案,但是如果没有上面的想象,准确地描述我试图用结果来实现的目标是很困难的。
2条答案
按热度按时间91zkwejq1#
为了扩展revo的回答,如果您使用的是mysql 5.7或更高版本,您可以直接以预期的json格式输出数据,使用
JSON_OBJECT
功能:退货
现场观看:http://rextester.com/live/bzdd55420
g6ll5ycj2#
有一个逗号分隔的列表
id
除了使用group by
,您应该根据group_concat
: