mysql动态行转列怎么实现


在MySQL中将动态行转列可以使用GROUP_CONCAT函数以及动态SQL语句来实现。以下是一个示例代码:

假设有一个表格名为data,包含以下数据:

idnamevalue1attribute1101attribute2202attribute1152attribute225

要将这些数据按照id进行行转列,可以使用以下SQL语句:

SET @sql = NULL;SELECTGROUP_CONCAT(DISTINCTCONCAT('MAX(CASE WHEN name = ''',name,''' THEN value END) AS ',name)) INTO @sqlFROM data;SET @sql = CONCAT('SELECT id, ', @sql, ' FROM data GROUP BY id');PREPARE stmt FROM @sql;EXECUTE stmt;DEALLOCATE PREPARE stmt;

运行以上代码后,将获得以下结果:

idattribute1attribute21102021525

这样就实现了将动态行转列的功能。


上一篇:sql中decode的使用方法是什么

下一篇:sqlserver怎么获取当前时间的日期


MySQL
Copyright © 2002-2019 测速网 www.inhv.cn 皖ICP备2023010105号
测速城市 测速地区 测速街道 网速测试城市 网速测试地区 网速测试街道
温馨提示:部分文章图片数据来源与网络,仅供参考!版权归原作者所有,如有侵权请联系删除!

热门搜索 城市网站建设 地区网站制作 街道网页设计 大写数字 热点城市 热点地区 热点街道 热点时间 房贷计算器