3 回答
TA贡献1873条经验 获得超9个赞
这个不能用between and,因为between and 是个闭区间,比如
between 100 and 200,这个包含100和200,而between 200 and 300,包含200和300,这样的话,200就同时属于两个分段区域了
如果是这样的话能稍微好点
等级 开始分数 结束分数
一等 90 100
二等 80 90
三等 0 80
如果是我上边这样可以写做
1 2 | select 表1.姓名,表2.等级 from 表1,表2 where 表1.成绩>=表2.开始分数 and 表1.成绩<表2.结束分数 |
如果你是仅有
等级 分数
一等 90-100
二等 80-90
三等 0-80
那么这样的话,这个表形同虚设
你只能用这样的语句
1 2 3 4 5 6 | select 姓名, case when 成绩>90 and 成绩<=100 then '一等' when 成绩>80 and 成绩<=90 then '二等' else '三等' as '等级' from 表1 |
TA贡献2016条经验 获得超9个赞
楼主这样写即可:
1 2 3 4 5 6 7 8 | select 姓名, case when 成绩>90 and 成绩<=100 then '第一等'
when 成绩>80 and 成绩<=90 then '第二等'
else '三等' end as '等级' from 表1 |
- 3 回答
- 0 关注
- 590 浏览
添加回答
举报