[SQL ] grouping + sort 疑難一問

看板Database作者 (shanngmin)時間14年前 (2012/02/27 18:30), 編輯推噓1(104)
留言5則, 4人參與, 最新討論串1/2 (看更多)
我是SQL新手,被人家問倒了,所以來這邊請教各位大大。 資料表範例如下(資料庫: MYSQL 5.0 ) 欄位/資料 student_id(學生代號) / exam_id(小考編號) / 成績 10001 1 90 10001 2 85 10001 3 93 10002 1 91 10002 2 NULL (註:NULL = 缺考) 10002 3 90 10003 1 75 10003 2 NULL 10003 3 NULL 我要怎麼下SQL,才能取到『每個學生最高分的前N筆』。 比如說10003 學生,如果取最高分的前兩筆,那他就是75, null。 在這邊先謝過了 ︿( ̄︶ ̄)︿ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 173.254.216.66

02/27 18:42, , 1F
可利用UNION...
02/27 18:42, 1F

02/27 19:43, , 2F
可否請 hukhuk 詳細說明,不勝感謝 :D
02/27 19:43, 2F

02/28 03:38, , 3F
select top(2) from XX where st_id='10003' order by
02/28 03:38, 3F

02/28 03:39, , 4F
成績 試試看吧!
02/28 03:39, 4F

03/16 14:16, , 5F
都明講是MySQL還給top(2)的SQL 實在是幽默到爆炸
03/16 14:16, 5F
文章代碼(AID): #1FIrj2lC (Database)
文章代碼(AID): #1FIrj2lC (Database)