2016-05-27 44 views

回答

2

甲骨文具有least()greatest()功能:

select student, greatest(q1, q2, q3, q4) as greatest_value 
from sample; 
0
DECLARE @Table1 TABLE 
    (STUDENTNAME varchar(3), Q1 int, Q2 int, Q3 int, Q4 int) 
; 

INSERT INTO @Table1 
    (STUDENTNAME , Q1 , Q2 , Q3 , Q4) 
VALUES 
    ('AAA', 80, 60, 65, 50), 
    ('BBB', 71, 75, 70, 55), 
    ('CCC', 70, 80, 90, 56), 
    ('DDD', 45, 55, 65, 90) 
; 

Select T.STUDENTNAME,MAX(T.val)[Quarter] from (
select STUDENTNAME,col,val from @Table1 
CROSS APPLY (values ('Q1',q1), 
('Q2',q2), 
('Q3',q3), 
('Q4',q4))cs(col,val))T 
GROUP BY T.STUDENTNAME 
相關問題