首页 > 解决方案 > 如何获得学生期末最高分

问题描述

我想从下表中获得最高学生期末分数。

Student name    Interm1 marks    Interm2 marks     Interm3 marks
Raj             60               75                89
raju            78               74                67
ram             67               79                65
balaji          91               89                93

我需要的输出是:

Balaji 93 

选项:

raju 78
raj 89 etc..

像这样我需要输出。任何人都可以在这里帮助我进行此查询。

标签: sql-server

解决方案


您需要首先取消透视数据,然后获取MAX值。我更喜欢使用VALUESunpivot 数据,而不是UNPIVOT运算符:

SELECT YT.StudentName,
       MAX(IM.ItermMark) AS MaxItermMark
FROM YourTable YT
     CROSS APPLY(VALUES(Interm1Mark),(Interm2Mark),(Interm3Nark))IM(ItermMark)
GROUP BY StudentName;

推荐阅读