新闻资讯

质量为本、客户为根、勇于拼搏、务实创新

< 返回新闻资讯列表

oracle的行转列和列转行怎么实现,oracle中的行转列

发布时间:2024-06-06 17:06:20

oracle的行转列和列转行怎样实现

在Oracle中,可使用PIVOT和UNPIVOT操作来实现行转列和列转行。

  1. 行转列(PIVOT):将表中的行数据转换为列数据,可使用PIVOT操作来实现。例如,有一个表包括了学生的姓名和成绩信息:
SELECT *
FROM (
   SELECT student_name, subject, score
   FROM student_scores
)
PIVOT
(
   MAX(score)
   FOR subject IN ('Math', 'English', 'Science')
);

在上面的例子中,将学生的姓名作为行数据,将科目(Math,English,Science)作为列数据。

  1. 列转行(UNPIVOT):将表中的列数据转换为行数据,可使用UNPIVOT操作来实现。例如,有一个表包括了学生的姓名和各科目的成绩信息:
SELECT student_name, subject, score
FROM (
   SELECT *
   FROM student_scores
)
UNPIVOT
(
   score FOR subject IN ('Math', 'English', 'Science')
);

在上面的例子中,将科目(Math,English,Science)作为列数据,将学生的姓名与其对应的成绩作为行数据。