亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

mysql行轉列的方法有哪些

小億
85
2024-01-26 09:45:52
欄目: 云計算

在MySQL中,可以使用以下方法將行轉列:

  1. 使用CASE語句:使用多個CASE語句將多行數據轉換為單行。每個CASE語句對應一個列,并根據條件將數據填充到對應的列中。例如:
SELECT 
  id,
  MAX(CASE WHEN type = 'A' THEN value END) AS value_a,
  MAX(CASE WHEN type = 'B' THEN value END) AS value_b,
  MAX(CASE WHEN type = 'C' THEN value END) AS value_c
FROM table_name
GROUP BY id;
  1. 使用JOIN操作:將多個表連接在一起,并根據條件將對應的數據填充到對應的列中。例如:
SELECT 
  t1.id,
  t2.value AS value_a,
  t3.value AS value_b,
  t4.value AS value_c
FROM table_name t1
JOIN table_name t2 ON t1.id = t2.id AND t2.type = 'A'
JOIN table_name t3 ON t1.id = t3.id AND t3.type = 'B'
JOIN table_name t4 ON t1.id = t4.id AND t4.type = 'C';
  1. 使用GROUP_CONCAT函數:將多行數據連接為一個字符串,并使用GROUP_CONCAT函數將多個字符串轉換為一行中的多個列。例如:
SELECT 
  id,
  SUBSTRING_INDEX(GROUP_CONCAT(CASE WHEN type = 'A' THEN value END), ',', 1) AS value_a,
  SUBSTRING_INDEX(GROUP_CONCAT(CASE WHEN type = 'B' THEN value END), ',', 1) AS value_b,
  SUBSTRING_INDEX(GROUP_CONCAT(CASE WHEN type = 'C' THEN value END), ',', 1) AS value_c
FROM table_name
GROUP BY id;

這些方法可以根據具體的需求選擇適合的方式來將行轉列。

0
潞城市| 德昌县| 曲松县| 靖边县| 察雅县| 四会市| 林甸县| 靖远县| 吴川市| 景洪市| 尚义县| 孝感市| 平乐县| 明星| 阳城县| 丰县| 驻马店市| 东源县| 威宁| 大港区| 阜康市| 沙湾县| 瑞丽市| 宝兴县| 长汀县| 林西县| 会泽县| 永修县| 达拉特旗| 北票市| 子洲县| 汝南县| 襄汾县| 大港区| 沙雅县| 永德县| 和林格尔县| 正宁县| 乐安县| 永仁县| 巨鹿县|