SQL查询各阶段的统计信息
2016-02-01 21:41
302 查看
我们经常会遇到各种分类统计问题,须要将这些结果一次显示出来。这次老师提出的要求是我想看60分下面多少人。60~70多少人,70~80多少人。80~90多少人,90~100多少人。他们曾经做的统计信息是。同样分数的有多少人,不同的分数都会在chart图表里显示一列,这种效果一般是不被须要的,并且数据多的时候也会乱七八糟,没有美感,所以老师提出上面開始的要求。
他们曾经的效果相应的sql语句是:
查询结果:
这种查询结果,有几条记录chart图表就会有多少个柱状条,记录越多就会显得杂乱无章。
改动后的sql语句:
查询结果:
这样对各个阶段的人数是多少。就能非常清楚的知道了。再对查询结果稍作处理。列和行交换一下。这样就是5行记录。每行就是一个阶段相应的总人数。这样每次查询的结果都是5条。相应绑定的chart表就仅仅有5条柱状条。
而他们曾经的查询结果是不一定的,得依据学生的成绩而定。所以相应绑定的chart图表的柱状条数也非常多,他们会一个学生分数就会相应一条柱状条。
改动之前的就相当于一个具体的记录,而人们往往常常须要的不是一个具体的记录。是整体的大概情况。仅仅有出现故障或特殊需求时才会去看一些具体的情况。
这正相应着常说的一句话,“不谋全局者 不足谋一域”。然后大家做的时候就往往将他抛至一边了,所以要试着将一些常说的大道理付诸到咱们的行动上来。
他们曾经的效果相应的sql语句是:
<span style="font-size:18px;"><strong>select TestScore As 分数,COUNT(TestScore) As 人数 from T_Scores where ExamID= '" + hs["ExamID"] + "' group by TestScore</strong></span>
查询结果:
这种查询结果,有几条记录chart图表就会有多少个柱状条,记录越多就会显得杂乱无章。
改动后的sql语句:
<pre name="code" class="sql"><span style="font-size:18px;"><strong>select count(result1) as '0~60',count(result2) as '60~70',count(result3) as '70~80', count(result4) as '80~90',count(result5) as '90~100' from( select (case when TestScore>=0 and TestScore<60 then (StudentNo) end) result1, (case when TestScore>=60 and TestScore<70 then (StudentNo) end) result2, (case when TestScore>=70 and TestScore<80 then (StudentNo) end) result3, (case when TestScore>=80 and TestScore<90 then (StudentNo) end) result4, (case when TestScore>=90 then (StudentNo) end) result5 from T_Scores where ExamID= '" + hs["ExamID"]+" ')t</strong></span>
查询结果:
这样对各个阶段的人数是多少。就能非常清楚的知道了。再对查询结果稍作处理。列和行交换一下。这样就是5行记录。每行就是一个阶段相应的总人数。这样每次查询的结果都是5条。相应绑定的chart表就仅仅有5条柱状条。
而他们曾经的查询结果是不一定的,得依据学生的成绩而定。所以相应绑定的chart图表的柱状条数也非常多,他们会一个学生分数就会相应一条柱状条。
改动之前的就相当于一个具体的记录,而人们往往常常须要的不是一个具体的记录。是整体的大概情况。仅仅有出现故障或特殊需求时才会去看一些具体的情况。
这正相应着常说的一句话,“不谋全局者 不足谋一域”。然后大家做的时候就往往将他抛至一边了,所以要试着将一些常说的大道理付诸到咱们的行动上来。
相关文章推荐
- 重复记录的sql相关操作
- SQL Server 2008, 2008 R2, 2012 and 2014 完全支持TLS1.2加密传输
- MySQL的ODBC安装错误问题!
- MySQL的ODBC安装错误问题!
- MySQL的ODBC安装错误问题!
- MySQL中常见字符串操作函数
- MySQLdb的安装与使用
- MySQL对数据库,表和表字段或者是记录的基本操作
- 使用Oracle自带的系统包和过程监控其它会话SQL语句的执行计划等信息
- postgresql中的冻结
- 记录数据库操作到文本
- Redis工作系列之一 与 Memcached对比理解
- T-SQL:GO语句和批处理
- MySQL存储过程
- mysql数据库备份设置延时备份方法(mysql主从配置)
- 在织梦标签中使用SQL实现多个数据的读取方法
- postgresql关于auto vacuum
- sqlite3安装
- redis安装步骤
- oracle 同义词