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

   2024-10-13 3230
核心提示:在Oracle中,可以使用PIVOT和UNPIVOT操作来实现行转列和列转行。行转列(PIVOT):将表中的行数据转换为列数据,可以使用PIVOT操

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

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

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

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

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

 
举报打赏
 
更多>同类维修大全
推荐图文
推荐维修大全
点击排行

网站首页  |  关于我们  |  联系方式网站留言    |  赣ICP备2021007278号