通过case when自定义的段位进行统计排序

通过case when 进行自定义排序

select * from (select a.c#,cname,case when score>=85 then ‘100-85‘
                         when score<85 and score>=70 then ‘85-70‘
                         when score<70 and score>=60 then ‘70-60‘
                         else ‘0-60‘
                         end 段位
                         ,count(1) 数量
             ,count(1)*100.0/(select count(1)from sc where c#=a.c#) 均分
from sc a
join course b on a.c#=b.c#
group by a.c#,cname,case when score>=85 then ‘100-85‘
                         when score<85 and score>=70 then ‘85-70‘
                         when score<70 and score>=60 then ‘70-60‘
                         else ‘0-60‘
                         end) a
order by  a.c#, case 段位
                       when  ‘0-60‘ then 1
                       when  ‘70-60‘ then 2
                       when  ‘85-70‘ then 3
                       when  ‘100-85‘ then 4
                  end

结果

时间: 2024-11-03 05:00:31

通过case when自定义的段位进行统计排序的相关文章

数组去重统计排序

需求是:统计次数并按照要求排序: 思路: 第一步:拼接字符串,返回一个字符串数组: 第二步 :查询数组,去重并统计次数: 第三步:使用sort()函数进行排序: 第四步:join()函数.把数组元素放到字符串中,的确很绕,学程序的没办法,多练习. <!doctype html> <html> <head> <meta charset="utf-8"> <title>数组去重统计排序</title> <styl

扩展GridView实现的一个自定义无刷新分页,排序,支持多种数据源的控件TwfGridView

最近项目View层越来越趋向于无刷新化,特别是数据展示方面,还要对Linq有很好的支持.在WebFrom模式的开发中,GridView是一个功能很强大,很常用的控件,但是他也不是完美的,没有自带的无刷新和排序(有人说UpdatePanel或第三方插件就可以实现无刷新,但是呵呵...那是重量级的无刷新实现,相信不少朋友和我一样讨厌UpdatePanel,引入一大堆很长的js库且不说,用起来感觉不到一点无刷新带来的快速),也不支持部分数据绑定分页(有人说部分数据绑定也可以用aspNetPager等第

Mysql 分别按月, 日为组group,进行统计排序order

在数据库中我们经常用sql语句对表进行简单的统计排序,对于日期字段,我们可以简单的对其进行order.对于复杂一点的可以按日期中的年,月,日分别进行group,order. 按年份进行group,统计排序: SELECT YERA(established_time) ,COUNT(*) AS num <span style="font-size: 13.75px; font-family: Arial, Helvetica, sans-serif;">FROM `table

android 自定义带动画的统计饼图

闲来无事,发现市面上好多app都有饼图统计的功能,得空自己实现以下,菜鸟一只,求指教,轻喷!   基本要求: 在XML布局中可配置控件的属性. 遵守基本的安卓规范 View基本绘制原理: 首先计算View的大小,测量View的大小主要有三个: public final void measure(int widthMeasureSpec, int heightMeasureSpec) protected void onMeasure(int widthMeasureSpec, int height

监听器实现案例----自定义session扫描器和统计在线用户人数及用户信息

一.案例一:自定义Session扫描器1.案例说明当一个Web应用创建的Session很多时,为了避免Session占用太多的内存,我们可以选择手动将这些内存中的session销毁,那么此时也可以借助监听器技术来实现.对于拿到 每个session 对象, 判断session的最后一次访问时间 与当前时间 的间隔是否超过 5 分钟, 如果超过就手动销毁 2.实现代码SessionScanner:session对象的监听器 MyTimerTask:定时器timer的任务对象 SessionScann

hive中使用case、if:一个region统计业务(hive条件函数case、if、COALESCE语法介绍:CONDITIONAL FUNCTIONS IN HIVE)

前言:Hive ql自己设计总结 1,遇到复杂的查询情况,就分步处理.将一个复杂的逻辑,分成几个简单子步骤处理. 2,但能合在一起的,尽量和在一起的.比如同级别的多个concat函数合并一个select 也就是说,字段之间是并行的同级别处理,则放在一个hive ql:而字段间有前后处理逻辑依赖(判断.补值.计算)则可分步执行,提前将每个字段分别处理好,然后进行相应的分步简单逻辑处理. 一. 场景:日志中region数据处理(国家,省份,城市) select city_id,province_id

使用ES对中文文章进行分词,并进行词频统计排序

前言:首先有这样一个需求,需要统计一篇10000字的文章,需要统计里面哪些词出现的频率比较高,这里面比较重要的是如何对文章中的一段话进行分词,例如"北京是中华人民共和国的首都","北京","中华人民共和国","中华","华人","人民","共和国","首都"这些是一个词,需要切分出来,而"京是""民共"这些就

使用knockout-sortable实现对自定义菜单的拖拽排序

在开始之前,照例,我们先看效果和功能实现. 关于自定义菜单的实现,这里就不多说了,需要了解的请访问:http://www.cnblogs.com/codelove/p/4838766.html 这里需要说明的是排序的实现. 我们先来看看关键的页面代码: <div class="row"> <div class="col-lg-12 full-width" id="leftMenus"> <div class=&quo

实现比较器接口IComparable&lt;T&gt;,让自定义类型数组也能排序

using System; namespace LinqDemo1 { class Program { static void Main(string[] args) { Person[] persons = { new Person {FirstName = "Damon", LastName = "Hill"}, new Person {FirstName = "Niki", LastName = "Lauda"}, ne