mysql - 如何合并列是数据透视表
问题描述
我目前正在处理一个存储过程,第一步已经完成,但我无法获得所需的输出。
这是我的存储过程
CREATE DEFINER= root
@ localhost
PROCEDURE sa
() BEGIN
SET SESSION group_concat_max_len = 1000000;
SELECT
GROUP_CONCAT(DISTINCT
CAST(CONCAT('IFNULL((CASE WHEN DATE_FORMAT(`date`, ''%Y-%m-%d %H:%i'') = DATE_FORMAT(''', `date`, ''', ''%Y-%m-%d %H:%i'') THEN `measurement` END), NULL) AS `', DATE_FORMAT(`date`, '%Y-%m-%d %H:%i'), '`') AS CHAR)
)INTO @sql
FROM
`result` ORDER BY `date` DESC;
SET @sql = CONCAT('SELECT patient_id, universal_id AS `Parameter`, ', CAST(@sql as CHAR), '
FROM result WHERE `patient_id` = "218441"
GROUP BY universal_id, DATE_FORMAT(`date`, ''%Y-%m-%d %H:%i'') ORDER BY order_no');
PREPARE stmt FROM @sql;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;
结尾
这是结果。
我的问题是如何合并列,因为它们具有相同的值。
谢谢你。
解决方案
推荐阅读
- html - 容器 div 不适应子 Angular 组件高度
- java - 将括号括在 Excel 公式的文件名中
- javascript - 字段值的乘法
- python - 如何使用 python-pptx 按演示文稿中的顺序从 powerpoint 文本框中提取文本。
- git - 如何在 git 中获取旧版本的文件
- azure - 是否可以使用 Azure URL Ping 测试来测试 Direct Line Bot 是否存在?
- python - 三角角的书写函数
- ibm-doors - (DOORS/DXL) 在没有打开模块的情况下修改对象
- node.js - 节点:将 Angular 6 客户端连接到节点服务器
- amp-html - 如何为仅 AMP 网站识别桌面或移动设备