看板 Database 關於我們 聯絡資訊
剛才板友怎麼還沒問完就刪掉了 XD 可能是自己試出來了吧~ 總之試了一下就PO上來當練習&參考 --create table create table score( pname varchar(10), subject varchar(10), subscore integer, id varchar(10)) ; --insert data insert into score (pname, subject, subscore, id) values ('張三','數學' , 90 , 1) , ('張三','語文' , 50 , 2) , ('張三','地裡' , 40 , 3) , ('李四','語文' , 55 , 4) , ('李四','政治' , 45 , 5) , ('王五','政治' , 30 , 6) , ('造六','地裡' , 90 , 7) , ('造六','國文' , 85 , 8) , ('造六','歷史' , 100 , 9) ; --select data: max subscore group by pname select b.pname, subject, subscore, id from score b join (select pname, max(subscore) mx from score group by pname ) a on a.pname = b.pname and a.mx = b.subscore OUTPUT pname subject subscore id 造六 歷史 100 9 張三 數學 90 1 李四 語文 55 4 王五 政治 30 6 4/29更新 另一種寫法 ROW_NUMBER語法 不過沒有比較簡單 XD SELECT pname, subject, subscore, id from ( SELECT pname, subject, subscore, id , ROW_NUMBER() OVER ( partition by pname ORDER BY pname,subscore desc) N from score ) A where A.N=1 OUTPUT pname subject subscore id 王五 政治 30 6 李四 語文 55 4 張三 數學 90 1 造六 歷史 100 9 -- 不推▃▃▃▃▃▃▃▃推嗎 \ \ 不推嗎不推嗎 不推 在這邊推個文, / \ 不推嗎不推嗎 不推 就能實現願望喔! / \ 推嗎不推嗎 不推嗎不推嗎不推嗎◥█│ │ 推嗎不推嗎 不推嗎不推嗎不推嗎不\ │ 嗎不推嗎 不推嗎不推嗎不推嗎不推嗎 \ ︶︶ 好人-改 / 嘿~嘿~嘿~ -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 27.147.29.46 ※ 文章網址: https://www.ptt.cc/bbs/Database/M.1493224081.A.682.html
dogwu5566: 對,我自己試出來了XD,原來where跟in後面的條件是可以 04/27 04:22
dogwu5566: 成對的,這是我最後的語法,select * from score where 04/27 04:23
dogwu5566: (pname,subscore) in (select pname,max(subscore) 04/27 04:23
dogwu5566: from score group by pname); 04/27 04:24
dogwu5566: 不過我還沒學到join關鍵字,我會好好研究一下,感謝! 04/27 04:25
clonk: 沒看到原來的問題 如果是mysql只要這樣就好了 04/28 15:22
clonk: select pname,subject,max(subscore) as subscore,id 04/28 15:23
clonk: from score group by pname order by subscore desc; 04/28 15:23
※ 編輯: criky (27.147.29.46), 04/29/2017 10:22:53
dogwu5566: 題目有說不得使用 order by 04/29 11:45
criky: 喔,那後來補充的就不行了~~ 04/29 15:18