sql动态行转列怎么实现

   2024-10-02 2290
核心提示:在SQL中,可以使用CASE语句来实现动态行转列。以下是一个示例:假设有以下表格Student:IDNameSubjectScore1AliceMath901AliceEn

在SQL中,可以使用CASE语句来实现动态行转列。以下是一个示例:

假设有以下表格Student:

IDNameSubjectScore
1AliceMath90
1AliceEnglish85
2BobMath95
2BobEnglish80

我们希望将每个学生的成绩按照科目转为列,得到如下结果:

IDNameMathEnglish
1Alice9085
2Bob9580

可以使用以下SQL语句实现:

SELECT    ID,    Name,    MAX(CASE WHEN Subject = 'Math' THEN Score END) AS Math,    MAX(CASE WHEN Subject = 'English' THEN Score END) AS EnglishFROM StudentGROUP BY ID, Name;

通过CASE语句,将不同科目的成绩转为对应的列,然后使用GROUP BY按照学生的ID和姓名进行分组,最后使用MAX函数获取每个学生在每个科目上的成绩。这样就实现了动态行转列的效果。

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

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