您的位置:首页 > 数据库 > MySQL

mysql 行列转换

2016-02-23 23:25 471 查看
DELIMITER $$

USE `report_b011`$$

DROP PROCEDURE IF EXISTS `SP_RPT_ttt`$$

CREATE DEFINER=`root`@`%` PROCEDURE `SP_RPT_ttt`()

BEGIN

 SET @EE='';

     SET @SS='';

     SELECT 

(SELECT *FROM(

SELECT @EE:=CONCAT(@EE,'SUM(IF(AREA_NAME=\'',AREA_NAME,'\'',',NUM,0)) AS ',AREA_NAME,',') FROM (SELECT DISTINCT AREA_NAME FROM t_vod_col_click_num_by_day) A) t

ORDER BY 1 DESC  LIMIT 1) INTO @SS; 

SET @QQ=CONCAT('SELECT ifnull(COLUMNNAME,\'total\'),',LEFT(@SS,LENGTH(@SS)-1),'SUM(NUM) TOTAL FROM t_vod_col_click_num_by_day GROUP BY COLUMNNAME WITH ROLLUP');

PREPARE stmt2 FROM @QQ;

EXECUTE stmt2;

END$$

DELIMITER ;

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: