2017-09-08 29 views
0

我有以下步驟過程添加在GROUP_CONCAT計數()()

DELIMITER $$ 

CREATE DEFINER=`root`@`localhost` PROCEDURE `ptl_head`() 
BEGIN 
SET @sql = NULL; 

SELECT GROUP_CONCAT(DISTINCT 
    CONCAT(
     'MAX(CASE WHEN month(alloc_date) = ''', 
     month(alloc_date), 
     ''' THEN emp_code END) `', 
     month(alloc_date),'_',year(alloc_date), 
     '`' 
     ) 

) 
    INTO @sql 
    FROM daily_report; 

SET @sql = CONCAT('SELECT emp_code, ', @sql, ' 
        FROM daily_report 
        GROUP BY emp_code'); 

PREPARE stmt FROM @sql; 
EXECUTE stmt; 
DEALLOCATE PREPARE stmt; 
END 

一個我想補充emp_code的數量作爲輸出,但我得到emp_code作爲output.Someone幫我解決這個

回答

0

什麼 -

SET @sql = CONCAT('SELECT emp_code, ', @sql ' 
        FROM daily_report 
        GROUP BY emp_code 
        UNION ALL 
        SELECT "Count", COUNT(*), month(alloc_date), '_', year(alloc_date) 
        FROM daily_report'); 
+0

其實我想顯示emp_code的計數爲特定列我收到emp_code爲值相應列 – HariPriya

+0

所以,你只是想顯示計數你得到多少emp_code? –

+0

正是你所說的 – HariPriya