91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

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
三明市| 永靖县| 航空| 浠水县| 梅州市| 墨竹工卡县| 叶城县| 大理市| 福泉市| 留坝县| 蒙阴县| 万全县| 宜宾市| 漠河县| 小金县| 永修县| 隆子县| 壶关县| 山东省| 临漳县| 万宁市| 河间市| 福建省| 县级市| 呼和浩特市| 张家川| 如皋市| 庆云县| 修水县| 辽宁省| 保德县| 天祝| 资源县| 丁青县| 常宁市| 防城港市| 通江县| 庆安县| 丽江市| 德庆县| 南昌市|