-4
找到每個學生每個季度的數學分數。我們需要編寫一個查詢來找出每個學生所有宿舍的最大分數。找到每個學生的每個季度的分數。寫一個查詢來找出每個學生所有學生的最高分數
樣本表。
STUDENT NAME Q1 Q2 Q3 Q4
AAA 80 60 65 50
BBB 71 75 70 55
CCC 70 80 90 56
DDD 45 55 65 90
找到每個學生每個季度的數學分數。我們需要編寫一個查詢來找出每個學生所有宿舍的最大分數。找到每個學生的每個季度的分數。寫一個查詢來找出每個學生所有學生的最高分數
樣本表。
STUDENT NAME Q1 Q2 Q3 Q4
AAA 80 60 65 50
BBB 71 75 70 55
CCC 70 80 90 56
DDD 45 55 65 90
甲骨文具有least()
和greatest()
功能:
select student, greatest(q1, q2, q3, q4) as greatest_value
from sample;
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