多列去掉两个最小值求平均
来源:互联网 发布:华为手机着么下软件 编辑:程序博客网 时间:2024/05/22 13:29
对于多列此类聚合问题,SQL比较容易.
需要考虑的是:
NULL的处理;
相同值的处理,
其他,没有什么难度.
看一下代码:
with t as( select 班级,科目,成绩,DENSE_RANK() over (partition by 班级,科目 order by 成绩) as rn,row_number() over (partition by 班级,科目 order by 成绩) as rn1 from dbo.分数unpivot(成绩 for 科目 in (语文,数学,英语,政治,物理,化学,生物,体育,美术,音乐,历史,地理)) p)select 班级,科目,convert(decimal(11,2),AVG(t1.成绩)) as 平均,(select convert(decimal(11,2),AVG(t2.成绩)) fromt as t2 where t2.rn >2 andt2.班级 = t1.班级 andt2.科目 = t1.科目group by 班级,科目) as 平均2,(select convert(decimal(11,2),AVG(t3.成绩)) fromt as t3 where t3.rn1 >2 andt3.班级 = t1.班级 andt3.科目 = t1.科目group by 班级,科目) as 平均1from t as t1group by 班级,科目order by 班级,科目;
最后看一下在EXCEL的效果:
- 多列去掉两个最小值求平均
- oracle列求平均
- 两个数求最小值
- awk统计命令(求和、求平均、求最大值、求最小值)
- VBA 去掉最大值,最小值,求方差
- 求两个数中的最大值最小值算法
- linq去掉不等于0的数据求平均
- 多文件组织求最大最小值
- datatable中求3列的最大值和最小值
- 求一个二维数组每列的最小值
- 求Excel数据表每列的最大值、最小值以及分段
- 求一个二维数组中每列的最小值
- 使用awk求指定列的最大值最小值
- 另类方法求两个整数的最大值 最小值
- 求两个数组中的数据差绝对值中的最小值
- 回调函数(求两个数的最大值,最小值,和)
- 用位运算求两个数的最大值和最小值
- 求最小值
- 使用netlink机制在内核进程和用户空间进程通信
- 2012,新的征程
- 网络流题目集锦
- 模仿go语言的C语言面向对象范式
- Programming Clojure学习笔记——使用序列统一数据
- 多列去掉两个最小值求平均
- Android系统开发一
- 函数ERR_PTR,PTR_ERR还有IS_ERR理解
- VB工程--百例70---求平均数
- python与协程(1/3):生成器与协程
- Java事件处理机制 - 事件监听器的四种实现方式(转)
- 几时才能离开这里进黑马?
- 笔记本导购简单教程
- EditText监听方法,实时的判断输入多少字符