mysql - 在 group_concat() 中添加 count() 的过程

标签 mysql stored-procedures

我有以下程序

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 作为输出。有人帮我解决这个问题

最佳答案

怎么样 -

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');

关于mysql - 在 group_concat() 中添加 count() 的过程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46110071/

相关文章:

mysql - 我的 SQL 动态查询执行并将输出输出到存储过程中的变量中

mysql - 如何在具有特定别名的表上正确选择 MySql 函数值?

sql - 避免用户向 SQL Server 中的存储过程提供空值

sql-server - SQL Server - 使用按位运算符查找最高优先级的项目

mysql - 如何访问 MySQL 过程参数?

mysql - 每天的 SQL 计数

php - 为了从我的两个表中进行回显,应该使用什么正确的 sql 查询?

stored-procedures - pyodbc 从使用 DB2 的存储过程返回多个游标

stored-procedures - 为 MariaDB 过程创建自定义类型

mysql - 如何在 MySQL 中实现这一点?