中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

mysql行轉列的實現方式有哪些

小億
113
2024-01-29 09:59:40
欄目: 云計算

MySQL行轉列的實現方式有以下幾種:

  1. 使用CASE語句:通過使用CASE語句可以根據條件將行數據轉換為列數據。
SELECT
    id,
    MAX(CASE WHEN attribute = 'attribute1' THEN value END) AS attribute1,
    MAX(CASE WHEN attribute = 'attribute2' THEN value END) AS attribute2,
    MAX(CASE WHEN attribute = 'attribute3' THEN value END) AS attribute3
FROM
    table
GROUP BY
    id;
  1. 使用PIVOT函數:MySQL并沒有內置的PIVOT函數,但是可以使用子查詢和聚合函數來模擬實現。
SELECT
    id,
    MAX(CASE WHEN attribute = 'attribute1' THEN value END) AS attribute1,
    MAX(CASE WHEN attribute = 'attribute2' THEN value END) AS attribute2,
    MAX(CASE WHEN attribute = 'attribute3' THEN value END) AS attribute3
FROM
    (SELECT id, attribute, value FROM table) AS t
GROUP BY
    id;
  1. 使用GROUP_CONCAT函數:可以使用GROUP_CONCAT函數將多個行數據合并為一個字符串,然后再使用子查詢將字符串拆分為多個列。
SELECT
    id,
    SUBSTRING_INDEX(GROUP_CONCAT(CASE WHEN attribute = 'attribute1' THEN value END), ',', 1) AS attribute1,
    SUBSTRING_INDEX(GROUP_CONCAT(CASE WHEN attribute = 'attribute2' THEN value END), ',', 1) AS attribute2,
    SUBSTRING_INDEX(GROUP_CONCAT(CASE WHEN attribute = 'attribute3' THEN value END), ',', 1) AS attribute3
FROM
    table
GROUP BY
    id;

以上是幾種常見的MySQL行轉列的實現方式,可以根據實際需求選擇適合的方式。

0
河东区| 师宗县| 丽水市| 昆山市| 简阳市| 禹州市| 济南市| 邵阳市| 涿州市| 丽水市| 德钦县| 西城区| 西乌珠穆沁旗| 翁牛特旗| 蓝山县| 罗平县| 马尔康县| 台北县| 冀州市| 朝阳市| 江阴市| 通化县| 晋中市| 城固县| 久治县| 汤阴县| 镇平县| 济源市| 泰顺县| 阿巴嘎旗| 蒲城县| 宜章县| 榆社县| 南溪县| 濉溪县| 元氏县| 封丘县| 大姚县| 尤溪县| 蕉岭县| 汉源县|