如何实现mysql行转列
admin
2023-05-17 21:02:14
0

下面一起来了解下如何实现mysql行转列,相信大家看完肯定会受益匪浅,文字在精不在多,希望如何实现mysql行转列这篇短内容是你想要的。 

原始数据如下:


mysql> select id,sdkname,sid,date,total_count from u1ge_query_log;

+------+----------------+------+------------+-------------+

| id   | sdkname        | sid  | date       | total_count |

+------+----------------+------+------------+-------------+

|  521 | ICC_ICCGAME(3) | 11   | 2017-05-01 |           0 |

|  522 | ICC_ICCGAME(3) | 11   | 2017-05-02 |           0 |

|  523 | ICC_ICCGAME(3) | 11   | 2017-05-03 |           1 |

|  531 | ICC_HUAWEI     | 11   | 2017-05-01 |           0 |

|  532 | ICC_HUAWEI     | 11   | 2017-05-02 |           0 |

|  533 | ICC_HUAWEI     | 11   | 2017-05-03 |           0 |

|  541 | ICC_ICCGAME(0) | 11   | 2017-05-01 |           0 |

|  542 | ICC_ICCGAME(0) | 11   | 2017-05-02 |           0 |

|  543 | ICC_ICCGAME(0) | 11   | 2017-05-03 |           0 |

|  551 | ICC_UC         | 11   | 2017-05-01 |           0 |

|  552 | ICC_UC         | 11   | 2017-05-02 |           0 |

|  553 | ICC_UC         | 11   | 2017-05-03 |           0 |

|  561 | ICC_QIHOO      | 11   | 2017-05-01 |           0 |

|  562 | ICC_QIHOO      | 11   | 2017-05-02 |           0 |

|  563 | ICC_QIHOO      | 11   | 2017-05-03 |           0 |

|  571 | ICC_VIVO       | 11   | 2017-05-01 |           0 |

|  572 | ICC_VIVO       | 11   | 2017-05-02 |           0 |

|  573 | ICC_VIVO       | 11   | 2017-05-03 |           0 |

|  581 | ICC_GIONEE     | 11   | 2017-05-01 |           0 |

|  582 | ICC_GIONEE     | 11   | 2017-05-02 |           0 |

|  583 | ICC_GIONEE     | 11   | 2017-05-03 |           0 |

要求如下显示:

如何实现mysql行转列


此处用到了行转列,由于列不固定,考虑使用动态sql

SET @d=(select GROUP_CONCAT('if(sdkname=\'',sdkname,'\' ,total_count,0) as `',sdkname,'`')
 FROM (SELECT DISTINCT sdkname FROM pcik_log_dep.u1ge_query_log ) A); 

SET @sql=CONCAT('select date,',@d,'from pcik_log_dep.u1ge_query_log group by date');
  
PREPARE sdtmt from @sql;
EXECUTE sdtmt;
deallocate prepare sdtmt;


------------+---------+-----------+-------------+------------+------------+----------------+----------------+------------+-----------+----------+-----------+--------+----------+------------+

| date       | icctest | ICC_BAIDU | ICC_COOLPAD | ICC_GIONEE | ICC_HUAWEI | ICC_ICCGAME(0) | ICC_ICCGAME(3) | ICC_LENOVO | ICC_MEIZU | ICC_OPPO | ICC_QIHOO | ICC_UC | ICC_VIVO | ICC_XIAOMI |

+------------+---------+-----------+-------------+------------+------------+----------------+----------------+------------+-----------+----------+-----------+--------+----------+------------+

| 2017-05-01 |       0 |         0 |           0 |          0 |          0 |              0 |              0 |          0 |         0 |        0 |         0 |      0 |        0 |          0 |

| 2017-05-02 |       0 |         0 |           0 |          0 |          0 |              0 |              0 |          0 |         0 |        0 |         0 |      0 |        0 |          0 |

| 2017-05-03 |       0 |         0 |           0 |          0 |          0 |              0 |              1 |          0 |         0 |        0 |         0 |      0 |        0 |          0 |

| 2017-05-04 |       0 |         0 |           0 |          0 |          0 |              0 |           4380 |          0 |         0 |        0 |         0 |      0 |        0 |          0 |

| 2017-05-05 |       0 |         0 |           0 |          0 |          0 |              0 |           5126 |          0 |         0 |        0 |         0 |      0 |        0 |          0 |

| 2017-05-06 |       0 |         0 |           0 |          0 |          0 |              0 |           5571 |          0 |         0 |        0 |         0 |      0 |        0 |          0 |

| 2017-05-07 |       0 |         0 |           0 |          0 |          0 |              0 |           5888 |          0 |         0 |        0 |         0 |      0 |        0 |          0 |

| 2017-05-08 |       0 |         0 |           0 |          0 |          0 |              0 |           6135 |          0 |         0 |        0 |         0 |      0 |        0 |          0 |

| 2017-05-09 |       0 |         0 |           0 |          0 |          0 |              0 |           6199 |          0 |         0 |        0 |         0 |      0 |        0 |          0 |

| 2017-05-10 |       0 |         0 |           0 |          0 |          0 |              0 |           6199 |          0 |         0 |        0 |         0 |      0 |        0 |          0 |

+------------+---------+-----------+-------------+------------+------------+----------------+----------------+------------+-----------+----------+-----------+--------+----------+------------+

10 rows in set (0.00 sec)

 

看完如何实现mysql行转列这篇文章后,很多读者朋友肯定会想要了解更多的相关内容,如需获取更多的行业信息,可以关注我们的行业资讯栏目。

相关内容

热门资讯

原创 外... 外星翻译官的翻车现场:地球语言真的太难了! 银河系翻译官协会(假想机构)最近发布了一份年度报告,总...
首飞成功!已突破大重量载荷发射... 科技日报记者 付毅飞 实习生 张城辉 记者从蓝箭航天获悉,5月14日11时0分,朱雀二号改进型遥五运...
京东携手MAXHUB共推AI智... PChome消息,近日,京东与智能会议平板领域领军品牌MAXHUB正式签署战略合作协议,标志着双方战...
29个智能气象站启动业务试运行 本报北京5月15日电(记者李红梅)记者从中国气象局获悉:北京密云等29个智能气象站已于近日启动业务试...
广西一载15人车辆坠河,10人... 记者从广西环江毛南族自治县相关方面获悉,据初步了解,5月16日21时30分许,一辆汽车在环江县洛阳镇...
iOS 26.5更新苹果地图两... 苹果地图是iOS 26.5此次更新中获得新功能的应用之一。以下是地图用户需要了解的最新变化。 推荐...
每经热评 | 黄仁勋喝蜜雪冰城... 每经评论员 朱成祥 黄仁勋近期到访北京,被拍到在胡同喝豆汁、吃炸酱面、举着蜜雪冰城饮料。他表情轻松,...
我省3项目被列入工信部先进计算... 本报太原5月15日讯(记者王蕾)近日,工业和信息化部公布了2025年先进计算赋能新质生产力典型应用案...
薛贵:学习的革命——脑科学与人... 1 学习的本质不是知识的装卸, 而是雕刻大脑的“芯片” 耶鲁大学前校长理查德·查尔斯·莱文曾说过:如...
伊朗:已制定管理霍尔木兹海峡指... 新华社德黑兰5月16日电 伊朗伊斯兰议会国家安全和外交政策委员会主席易卜拉欣·阿齐兹16日在社交媒体...