提问者:小点点

在单个json字符串中组合多行MySQL


下面是我目前的结果:

我希望将结果转换为单个JSON_OBJECT,如:

{“2100”:“1739”,“2300”:“168”,。。。}

我正在尝试下面的代码。

SELECT JSON_OBJECT(CP.RankID, COUNT(CP.RankID)) -- GROUP_CONCAT(CP.RankID SEPARATOR ',') AS Ranks -- CP.RankID, COUNT(CP.RankID) AS NoOfRank
       FROM CommunityPath AS CP
       GROUP BY CP.RankID;

有什么办法能做到。 基本上,这将是一个SP或函数,它将为来自另一个SP/查询的每一行调用。

注意:图像结果由CTE产生。


共1个答案

匿名用户

不知何故得到了解决办法,如果它能帮助某人

SELECT  CONCAT(GROUP_CONCAT(RN SEPARATOR ',')) AS RankInfo
    FROM (SELECT JSON_OBJECT(CP.RankID, COUNT(CP.RankID)) AS RN FROM CommunityPath AS CP GROUP BY CP.RankID) AS CT
    GROUP BY 'all';