mysql total语法_MYSQL版本问题导致SQL语法错误!unknow column 'SQLSTR'汗血宝马

BEGIN

DECLARE sTYPE VARCHAR(20);

DROP TEMPORARY TABLE IF EXISTS temp_public_data;

CREATE TEMPORARY TABLE temp_public_data SELECT

DATE_FORMAT(FROM_UNIXTIME(n.inputtime),'%Y-%m-%d') as days,

DATE_FORMAT(FROM_UNIXTIME(n.inputtime),'%Y-%m') as months,

DATE_FORMAT(FROM_UNIXTIME(n.inputtime),'%Y') as years,

DATE_FORMAT(FROM_UNIXTIME(n.inputtime),'%u') as weeks,

count(n.id) as pubnum,n.username from v9_news as n

WHERE DATE_FORMAT(FROM_UNIXTIME(n.inputtime),'%Y-%m-%d') BETWEEN pDayBegin AND pDayEnd

GROUP BY days,n.username;

IF pType=1 THEN

SET sType = "years";

ELSEIF pType=2 THEN

SET sType = "months";

ELSEIF pType=3 THEN

SET sType = "weeks";

ELSEIF pType=5 THEN

SET sType = "days";

END IF;

SET @EE = "";

SELECT @EE:= CONCAT(@EE,',SUM(IF(username=\'',username,'\',pubnum,0)) AS \'',username,'\'') AS **SQLSTR** FROM (SELECT DISTINCT username FROM temp_public_data) A ORDER BY **LENGTH(SQLSTR)** DESC LIMIT 0,1;

SET @SQL = CONCAT('SELECT IFNULL(',sType,',\'TOTAL\') AS MONTH');

SET @SQL = CONCAT(@SQL,@EE);

SET @SQL = CONCAT(@SQL,',SUM(pubnum) as TOTAl ');

SET @SQL = CONCAT(@SQL,' FROM temp_public_data');

SET @SQL = CONCAT(@SQL,' GROUP BY ',sType,' WITH ROLLUP;');

#SELECT @SQL;

PREPARE stmt FROM @SQL;

EXECUTE stmt;

DROP TEMPORARY TABLE IF EXISTS temp_public_data;

END

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值