mysql游标遍历拼接字符串

这篇博客介绍了如何在SQL中使用游标来处理数据,并将查询结果转化为JSON格式。通过声明变量、定义游标和处理循环,作者展示了如何聚合数据并构建JSON字符串,最终将数据包裹在中括号中,满足特定的输出需求。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

我要查询的数据如下 ,但是前台要的数据和我给的不一样 它要的是中括号里面的那种,我要把数据拼接起来,用到了游标。

 

 

BEGIN
    DECLARE _statistics VARCHAR(1024);    
    DECLARE _name VARCHAR(1024);
    DECLARE _count VARCHAR(1024);
   -- 创建结束标志变量  
  declare done int default false;

   --  创建游标填充,想要什么放什么
  declare cur cursor for SELECT  processName, SUM(runningTime) FROM t_emm_process GROUP BY processName ORDER BY SUM(runningTime) DESC LIMIT 0,5;

   --  指定游标循环结束时的返回值
  declare continue HANDLER for not found set done = true;  
    SET _statistics = '';
    OPEN cur;
    FETCH cur INTO _name, _count;
    WHILE(NOT done) DO
    SET _statistics = CONCAT('{"',_name,'":"', _count, '"}', IF(_statistics = '', '', ','), _statistics);    
    FETCH cur INTO _name, _count;
    END WHILE;
    CLOSE cur;
    SET _statistics = CONCAT('[', _statistics, ']');
    SELECT _statistics;
END

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

zhl_BeginLife

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值