作者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://webptt.com/cn.aspx?n=bbs/Database/M.1498136415.A.49C.html
1F:推 JamesHsuan: 其实再加一个学期的table编号最好,不然不如直接两个 06/25 12:37
2F:→ JamesHsuan: where条件写就可以了 06/25 12:37