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