‘壹’ 创建sql查询,用SELECT语句为"成绩"表各科成绩做一个A,B,C的等级评分
就是一个case when语句,这个没什么困难的
select (case when 成绩>=90 then 'A' when 成绩>=80 and 成绩<90 then 'B' esle 'C' end) 评级 from table
具体的内容自己改,我用的是oracle的写法,其他数据库也有case when语句用法差不多,如果不是oracle数据库,那么要自己改一改才能用。
‘贰’ SQL数据库:按成绩【90,100】评‘A’;【80,89】评‘B’ 【70,79】评‘C’ 【0,69】评‘D’
with etc as
(
SELECT A.S# as s#,B.CNAME as cname,A.GRADE as grade FROM SC AS A JOIN C AS B
ON A.C#=B.C#)
select a.sname as 姓名,b.cname as 课程名,
(case when grade >=90 and grade <=100 then 'A'
when grade >=80 and grade <=89 then 'B'
when grade>=70 and grade<=79 then 'C'
else 'D' end) as 成绩
from s as a join etc as b
on a.s#=b.s#
order by b.grade desc
‘叁’ sql通过分数查询所在等级 急急急!!!
select 员工编号,考核分数,等级=case
when 考核分数<=100 and 考核分数>=90 then '优等'
when 考核分数<=89 and 考核分数>=80 then '甲等'
when 考核分数<=79 and 考核分数>=70 then '乙等'
when 考核分数<=69 and 考核分数>=60 then '丙等'
else '丁等' end
from employee_Test
‘肆’ 怎样使用sql语句可以多条件查询 比如成绩等级划分
select sum(case when '成绩'=100.0 then 1 else 0 end),
sum(case when '成绩'<100 and '成绩' >=90 then 1 else 0 end),
sum(case when '成绩'<90 and '成绩' >=80 then 1 else 0 end),
sum(case when '成绩'<80.0 and '成绩' >=70 then 1 else 0 end),
sum(case when '成绩'<70.0 and '成绩' >=60 then 1 else 0 end),
sum(case when '成绩'<60 then 1 else 0 end) from table
可以按分数间隔统计出成绩分布,分别是100分有多少人,90~100,80~90,70~80,60~70,60以下的区间分别有多少人。