博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
MYSQL中动态行数据转列数据
阅读量:7102 次
发布时间:2019-06-28

本文共 433 字,大约阅读时间需要 1 分钟。

最近用到城市矩阵相关 需要将城市与城市距离转化为二维表 通过动态SQL直接实现 贴出来一起学习:

表就三个字段,包含在sql内。

SET @sql:='';SELECT @sql:=GROUP_CONCAT(item) FROM(SELECT CONCAT(@sql,'SUM(IF(to_city=\'',to_city,'\'',',distance,0)) AS \'',to_city,'\'') itemFROM (SELECT cm.to_city FROM `cities_matrix`  cm  GROUP BY cm.to_city ORDER BY cm.to_city)a)a;SET @sql:=CONCAT('SELECT cm.from_city,',@sql,' FROM cities_matrix cm GROUP BY cm.from_city'); PREPARE stmt FROM @sql;  EXECUTE stmt;

 

转载地址:http://xychl.baihongyu.com/

你可能感兴趣的文章