真的很难找到编写以下代码的最佳方法。我的查询将生成以下结果:
ID OPTIONvalue ANSWER
57 23 7
58 23 8
59 24 1
60 25 5
我的目标是生成类似这样的JSON,我需要
// everything here will be answers for OPTIONvalue = 23
[{
"name": "person_name",
"answerswer": 7,
"answerswer1": 8
},
// everything here will be answers for OPTIONvalue = 24
[{
"name": "person_name",
"answerswer": 1,
},
目前,我查询数据库以获得所有选项值,然后循环这些结果,这样我就可以在mysqlselect中执行OPTIONvalue=23的操作。这是查询数据库大约15次…这显然是一个糟糕的想法,但我不知道该怎么做才能更好地编码它。
我试图简化我的问题,我希望你能理解,如果不让我知道,我可以编辑上面的内容。
您可以尝试
SELECT OptionValue,
GROUP_CONCAT(Answer ORDER BY Answer) Answers
FROM Table
GROUP BY OptionValue
这将为每个OptionValue生成一行,并使用逗号分隔的Answer值列表。将其转换为JSON应该很简单。