作者ji394su33000 (一枝獨秀不是春)
看板Database
標題Re: [SQL ] 請問各位先進一個查詢
時間Thu Jun 22 21:00:12 2017
※ 引述《ignore (ignore)》之銘言:
: 資料庫名稱:MySQL
: 資料庫版本:5.x
: 內容/問題描述:
: 如下一個table
: 姓名 學期 通識分數
: ------------------------
: john 大一上 92
: mark 大一上 86
: frank 大一上 84
: john 大一下 80
: mark 大一下 92
: frank 大一下 88
: john 大二上 78
: mark 大二上 96
: frank 大二上 88
: john 大二下 94
: mark 大二下 94
: frank 大二下 84
: 該如何撈出 "最近三學期" 通識分數都大於90分的學生,請教各位先進,thanks
/*其實我根本不知道你說的最近三學期是指什麼,又不知道你大幾? */
select * from
(
select
姓名 ,
case when 學期 = '大一上' then 1
when 學期 = '大一下' then 2
when 學期 = '大二上' then 3
when 學期 = '大二下' then 4
end as se_rank
,通識分數
from table
)
where se_rank > 1 --假設你大二下,最近三學期>1
and 通識分數 >= 90
;
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 123.194.169.51
※ 文章網址: https://www.ptt.cc/bbs/Database/M.1498136415.A.49C.html
推 JamesHsuan: 其實再加一個學期的table編號最好,不然不如直接兩個 06/25 12:37
→ JamesHsuan: where條件寫就可以了 06/25 12:37