--18、查询各科成绩最高分、最低分和平均分:
--以如下形式显示:
-- 课程ID,课程name,最高分,最低分,平均分,及格率,中等率,优良率,优秀率
--及格为>=60,中等为:70-80,优良为:80-90,优秀为:>=90
--cast(cast (sum(case when c.score>=60 then 1 else 0 end)*100/(count(1)*1.0) as float) as nvarchar)+'%'及格率'
--查询成绩表中三科成绩的最高分 等等
select c.c#,b.cname,
max(c.score) [最高分],min(c.score) [最低分],
cast(AVG(c.score) as decimal(18,2)) [平均分],
cast(cast (sum(case when c.score>=60 then 1 else 0 end)*100/(count(1)*1.0) as float) as nvarchar)+'%' [及格率],
cast(cast (sum(case when c.score>=70 and c.score<80 then 1 else 0 end)*100/(count(1)*1.0) as float) as nvarchar)+'%' [中等率],
cast(cast (sum(case when c.score>=80 and c.score<90 then 1 else 0 end)*100/(count(1)*1.0) as float) as nvarchar)+'%' [优良率],
cast(cast (sum(case when c.score>=90 then 1 else 0 end)*100/(count(1)*1.0) as float) as nvarchar)+'%' [优秀率]
from sc c
inner join course b on c.c#=b.c#
group by c.c#,b.cname
--自己写的 完美

及格率 不谢 cast(cast (sum(case when res>=60 then 1 else 0 end)*100/(count(1)*1.0) as float) as nvarchar)+'%' '及格率'的更多相关文章

  1. SQL sum case when then else【转】

    数据库 t 表     b 表内容        Id        Name      胜负        1          张三     胜        2          李四     ...

  2. sum(case when then)(男女生的个数)

    判断类似一个班级的男生和女生的人数,用sum (cese when then ) select count(er.execute_result), sum(case er.execute_result ...

  3. 每天努力一点之SQL(二) count sum case when then group by

    1. select sum(CASE WHEN A.[STATUS]=0 THEN 1 ELSE 0 end) as a1,  sum(CASE A.[STATUS] WHEN 1 THEN 1 EL ...

  4. sum(case when ct.tradeTotal >= 0 then 1 else 0 end)的意思

    String hql = "select new com.ks.admin.report.dto.ReportMonthWithDrawalDto(" + "count( ...

  5. MySQL中group by , sum , case when then 的使用

    在我们使用数据库的时候,可能会遇到需要进行统计的情况. 比如需要统计一下,下表中各个年份的胜负场数. 遇到这样的情况,我们应该怎么办呢? 在mysql中我们可以使用group by sum  case ...

  6. MySQL巧用sum,case...when...优化统计查询

    最近在做项目,涉及到开发统计报表相关的任务,由于数据量相对较多,之前写的查询语句查询五十万条数据大概需要十秒左右的样子,后来经过老大的指点利用sum,case...when...重写SQL性能一下子提 ...

  7. 点滴积累【other】---.net程序员面试题总结

    自己总结的.net的面试题. 说明:以下代码均已经过验证正确无误! C#: 1.c#实现N的阶乘: class Program { static void Main(string[] args) { ...

  8. MySQL分段统计SQL写法 与 Mybatis 异常 java.math.BigDecimal cannot be cast to java.lang.Integer

    mysql> select end) as '<60', end) as '60~69', end) as '70~79', end) as '80~89', end) as '>= ...

  9. MyBatis的foreach标签与SUM函数同时使用

    最近在项目中遇到一个,需要根据传入的存有id的list,计算值,再起别名 <if test="channelList != null and channelList.size()> ...

随机推荐

  1. (原)torch中显示nn.Sequential()网络的详细情况

    转载请注明出处: http://www.cnblogs.com/darkknightzh/p/6065526.html 本部分多试几次就可以弄得清每一层具体怎么访问了. step1. 网络定义如下: ...

  2. No1_5.字符串的基本操作_Java学习笔记

    import java.text.DecimalFormat; import java.text.NumberFormat; import java.util.Locale; import java. ...

  3. 奇怪的JS正则表达式问题

    同一个正则表达式,为什么在JS里,用 var reg = new RegExp("..."); 定义,验证就各种失败,用 var reg=/.../; 定义,验证就对了...

  4. eclipse添加xsd

    图片参考 http://wenku.baidu.com/link?url=DFHWF_yD-M-GCt2tfjs1npPs1xhNlyxik7i_pCBjw3oVlbssYrMvLNucuUpKg75 ...

  5. Xcode中C、C++、Object-C3种语言的混编

    转自: http://hi.baidu.com/onejw/item/f34390c997cdc226a1b50ae http://www.cocoachina.com/ask/questions/s ...

  6. 自定义栈类型,具有找到站内最小元素的min函数 ,且min(),pop(),push()函数的时间复杂度为O(1)

    基本思想: // 借助一个辅助栈,入栈时,若新元素比辅助栈栈顶元素小,则直接放入辅助站 // 反之,辅助站中放入次小元素(即辅助栈栈顶元素)====保证最小元素出栈时,次小元素被保存 static c ...

  7. Android Development Tools 发生checkAndLoadTargetData错误

    之前使用时没有出现任何问题的,我把D:\IDE\ADT\adt-bundle-windows-x86_64-20140321\eclipse目录下面的 eclipse.exe重名名为adt.exe并设 ...

  8. hdu 3047 Zjnu Stadium

    http://acm.hdu.edu.cn/showproblem.php?pid=3047 带权并差集 #include <cstdio> #include <cstring> ...

  9. keil C 应注意的几个问题

    我们使用Keil C调试某系统时积累的一些经验 1.在Windows2000下面,我们可以把字体设置为Courier,这样就可以显示正常.2.当使用有片外内存的MCU(如W77E58,它有1K片外内存 ...

  10. 车祸 shit

    今天上班的时候就觉得右眼在那跳,妈的,果不其然,回家路上自行车也跟人家撞上了,郁闷,裤子也坏了,腿也伤了.我还没反应过来,撞一起的是个女的,十七八岁吧,郁闷,什么破自行车.强烈呼吁不要去买小自行车了, ...