溫馨提示×

sql將行轉列的方法有哪些

sql
小億
307
2023-10-12 17:23:19
欄目: 云計算

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

  1. 使用CASE語句:
  • 使用多個CASE語句,每個語句對應一個要轉置的列,并使用不同的條件來選擇要轉置的行。然后使用聚合函數(如SUM、MAX、MIN)來對轉置的列進行匯總。

  • 示例:

SELECT
MAX(CASE WHEN condition_1 THEN value_1 END) AS column_1,
MAX(CASE WHEN condition_2 THEN value_2 END) AS column_2,
...
FROM table_name
  1. 使用PIVOT語句:
  • PIVOT語句是一種用于執行行列轉換的特殊語法。它需要指定要轉置的列和要進行聚合的列,并且可以選擇使用哪種聚合函數。

  • 示例:

SELECT *
FROM (
SELECT column_1, column_2, ...
FROM table_name
) AS source_table
PIVOT (
aggregate_function(column_to_aggregate)
FOR column_to_pivot
IN (list_of_pivot_values)
) AS pivot_table
  1. 使用UNION ALL語句:
  • 將每個要轉置的列子查詢,并使用UNION ALL將它們連接起來。

  • 示例:

SELECT 'column_1' AS column_name, column_1 AS column_value
FROM table_name
UNION ALL
SELECT 'column_2' AS column_name, column_2 AS column_value
FROM table_name
...

這些方法中,使用CASE語句和PIVOT語句是最常見和最常用的方式。但根據具體的數據和需求,不同的方法可能會產生不同的效果和性能。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女