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

溫馨提示×

mysql怎么將列值變列名

小億
253
2023-10-27 23:17:28
欄目: 云計算

在MySQL中,可以使用動態SQL或者使用PIVOT函數將列值變為列名。下面是兩種方法的示例:

  1. 使用動態SQL:
SET @sql = NULL;
SELECT
  GROUP_CONCAT(DISTINCT
    CONCAT(
      'MAX(IF(column_name = ''',
      column_name,
      ''', column_value, NULL)) AS ',
      column_name
    )
  ) INTO @sql
FROM your_table;

SET @sql = CONCAT('SELECT id, ', @sql, ' FROM your_table GROUP BY id');

PREPARE stmt FROM @sql;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;

在上面的示例中,假設你有一個表your_table,其中包含idcolumn_namecolumn_value列。通過將動態生成的SQL語句準備好并執行,你可以將column_name的值轉換為列名。

  1. 使用PIVOT函數:
SELECT *
FROM
(
  SELECT id, column_name, column_value
  FROM your_table
) src
PIVOT
(
  MAX(column_value)
  FOR column_name IN ([column1], [column2], [column3])
) piv;

在上面的示例中,你需要提前知道column_name中可能的值,并將它們手動列出。然后,使用PIVOT函數將這些列值轉換為列名。你可以根據你的實際情況修改列名的列表。

0
汝南县| 米林县| 茶陵县| 宜川县| 鲁甸县| 舞钢市| 阿巴嘎旗| 称多县| 新泰市| 杨浦区| 云安县| 平湖市| 开远市| 晴隆县| 平利县| 大同市| 吉林市| 龙江县| 大洼县| 缙云县| 乌海市| 克什克腾旗| 奉化市| 河曲县| 芷江| 曲麻莱县| 吉隆县| 桓仁| 台州市| 尉犁县| 仙桃市| 彰化县| 沙洋县| 普兰店市| 平利县| 潜山县| 宜川县| 巴林左旗| 卓尼县| 连江县| 丽水市|