我希望从下表中获得最大的学生入学成绩。
($ordered | Get-Member)[0].TypeName
我所需的输出是:
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
像这样,我需要输出。 任何机构都可以在这里帮助我进行此查询。
答案 0 :(得分:2)
您需要首先取消数据透视,然后获取MAX
值。我更喜欢使用VALUES
取消数据透视,而不是UNPIVOT
运算符:
SELECT YT.StudentName,
MAX(IM.ItermMark) AS MaxItermMark
FROM YourTable YT
CROSS APPLY(VALUES(Interm1Mark),(Interm2Mark),(Interm3Nark))IM(ItermMark)
GROUP BY StudentName;
答案 1 :(得分:1)
看看这个。这应该做您想做的事
SELECT [Student name], MAX(MaxMark)
FROM
(
SELECT [Student name],
(SELECT MAX(v) FROM (VALUES ([Interm1 marks]), ([Interm2 marks]), ([Interm3 marks])) AS value(v)
) AS [MaxMark]
) AS subquery
GROUP BY [Student name]