前言:我猜這可能是某科目考了好幾次的小考,老師想取最高的成績當作是該學生的成績。
我的參考答案如下(我用的是MS-SQL的語法,和Oracle語法應該是類似)
<pre class="c" name="code">
select '甲學生' student, max(甲學生) score from #score
union all
select '乙學生' student, max(乙學生) score from #score
union all
select '丙學生' student, max(丙學生) score from #score
查詢結果如下:
<pre class="c" name="code">
甲學生 80
乙學生 70
丙學生 40
以下方便實際測試產生資料用的SQL,也提供出來參考
<pre class="c" name="code">
--產生原始成績表
create table #score
(
甲學生 int
,乙學生 int
,丙學生 int
)
--產生成績資料
insert into #score select 80,70,40
insert into #score select 75,65,35
insert into #score select 60,50,20
※若Table Schema開成這樣的話,就可以用二行SQL完成了
<pre class="c" name="code">
--查詢學生最高成績
select 學生姓名, max(成績) 成績 from #score
group by 學生姓名
--產生原始成績表
create table #score
(
學生姓名 nvarchar(20)
,次數 int
,成績 int
)
--產生成績資料
insert into #score select '學生甲',1,80
insert into #score select '學生甲',2,75
insert into #score select '學生甲',3,60
insert into #score select '學生乙',1,70
insert into #score select '學生乙',2,65
insert into #score select '學生乙',3,50
insert into #score select '學生丙',1,40
insert into #score select '學生丙',2,35
insert into #score select '學生丙',3,20
westv提到:
甲學生 乙學生..........
成績A 80 70...........
成績B 75 65...........
成績C 60 50...........
誰教你亂開 Table Schema..
依該是 ::
westv提到:
成績A 成績B 成績C..........
甲學生 80 70...........
乙學生 75 65...........
丙學生 60 50...........
假設:
SQL:
Select Max(學生甲) from
(
Select 學生甲 From 成績Table
)