gpt4 book ai didi

javascript - 对mysql的返回结果进行分组

转载 作者:行者123 更新时间:2023-11-29 07:05:02 26 4
gpt4 key购买 nike

我几乎筋疲力尽地调整查询,最后想到在这里发布问题来获取帮助。我有一个 mysql 表,如下所示。我正在 Nodejs 中编码并使用 jdbc 连接器访问数据库。

name    subject class   score
Harry science 8 60
John Science 9 65
Harry Maths 8 80
Harry English 9 50
Mike Maths 8 90
John English 8 60

当我执行查询时,我需要获取“按名称分组”和“class=8”的结果。我知道我可以返回“class=8”的所有结果,然后迭代结果以形成下面的对象。由于我的真实数据库非常复杂,我希望将 mysql 本身的返回结果分组如下。可以用mysql查询吗?如果无法使用查询,为了获得以下格式最好和最安全的编码方式是什么?

{
Harry:[{score:60, subject: science}, {score:80, subject: Maths}],
John:[{score:60, subject: English}],
Mike:[{score:90, subject: Maths}]
}

最佳答案

无需考虑 JSON 语法的优点,您可以使用 concat 及时完成您喜欢的字符串连接..您可以使用 group_concat 来获取同一行上某个名称的所有结果.. group_concat 是一个聚合函数,并且必须使用group by以合适的方式进行分组

  select name, group_concat( concat(score, subject))
from my_table
where class ='8'
group by name

关于javascript - 对mysql的返回结果进行分组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42042320/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com