統(tǒng)計 - MYSQL版本問題導(dǎo)致SQL語法錯誤!unknow column ’SQLSTR’
問題描述
SQLSTR是別名,在MySQL5.7以上版本能通過,在5.0上提示unknow column ‘SQLSTR’錯誤,我不知道應(yīng)該怎么修改(因為客戶關(guān)系不能通過mysql版本),請各位大神指點!
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 THENSET sType = 'years'; ELSEIF pType=2 THENSET sType = 'months'; ELSEIF pType=3 THENSET sType = 'weeks'; ELSEIF pType=5 THENSET 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
問題解答
回答1:可以了,用SQLSTR后面into 一個變量,然后用這個變量來order就可以了,汗!
相關(guān)文章:
1. PHP單例模式2. docker綁定了nginx端口 外部訪問不到3. javascript - webpack打包css文件為link形式或者為style形式方案評價?4. android - 百度地圖模擬器上報錯5. html - 在一個table表單中 td用v-for 使用v-if判斷是否顯示 然后用一個外部的button 判斷點擊最后一行隱藏6. javascript - ndoe 如何讀取mac系統(tǒng)下.numbers文件,或者解析.numbers文件的庫7. JavaScript 將數(shù)組中的數(shù)字按大小順序排列8. dockerfile - 我用docker build的時候出現(xiàn)下邊問題 麻煩幫我看一下9. javascript - react input file10. python 讀取csv文件可以讀取但內(nèi)容錯誤,但單獨用excel打開正常,如何解決?
