平均数_中位数_众数在SqlServer实现
平均数、中位数、众数都是度量一组数据集中趋势的统计量。所谓集中趋势是指一组数据向某一中心值靠拢的倾向,测度集中趋势就是寻找数据一般水平的代表值或中心值。而这三个特征数又各有特点,能够从不同的角度提供信息。
平均数
- 特点:计算用到所有的数据,它能够充分利用数据提供的信息,它具有优 的数学性质,因此在实际应用中较为广泛。但它受极端值的影响较大。
- 应用场合:没有极端值的情况下数据集中趋势的刻画。
- 如:小明五次测试的成绩好下,87、88、89、93、94你认为小明这五次测试成绩怎样?
- 分析:
中位数
- 特点:中位数是一组数据中间位置的代表值。计算简单,不受极端值的影响,但不能充分利用每个数据所提供的信息。
- 应用场合:有极端值,且无某数据重复出现多次的情况下集中趋势的刻画。
- 如:某公司员工月工资如下:
这个公司员工的月工资有一般水平是多少?- 员工 经理 副经理 员工a 员工b 员工c 员工d 员工e 员工f 杂工
- 月工资/元 6000 4000 1700 1300 1200 1100 1100 1100 500
- 分析:这组数据的平均数是2000,而高于这一水平的只有2人,不具有代表性。其中位数是1200,处于其相当水平的有5人,占大多数。较好的反映了一般水平。
众数
- 特点:众数是一组数据中出现次数最多的数据。不受极端值的影响,当一组数据中某些数据多次重复出现时,众数往往是人们最关心的一个量。但它不能象平均数那样充分利用数据提供信息。
- 应用场合:有极端值,有某些数据多次重复出现时。
- 如:一家鞋店在一段时间内销售了某种女鞋30双,各种尺码鞋的销量如下:
你能为这家鞋店提供进货建议吗?- 尺码/厘米 22 22.5 23 23.5 24 24.5 25
- 销售量/双 1 1 2 5 15 5 1
- 分析:由于进货最关心的是哪种尺码的鞋最多,而这里很明显24码的要占相当大的量15双。较好的得到所需信息。
SqlServer验证
CREATE TABLE graduates (
name varchar(255) ,
income int
)
go INSERT INTO graduates VALUES ('桑普森', '400000');
INSERT INTO graduates VALUES ('迈克', '30000');
INSERT INTO graduates VALUES ('怀特', '20000');
INSERT INTO graduates VALUES ('阿诺德', '20000');
INSERT INTO graduates VALUES ('史密斯', '20000');
INSERT INTO graduates VALUES ('劳伦斯', '15000');
INSERT INTO graduates VALUES ('哈德逊', '15000');
INSERT INTO graduates VALUES ('肯特', '10000');
INSERT INTO graduates VALUES ('贝克', '10000');
INSERT INTO graduates VALUES ('斯科特', '10000');
取众数
select income,count(*) cnt
from graduates
group by income
having count(*) >= (
select max(cnt) from (select count(*) cnt from graduates group by income) tmp
)
取中位数
select AVG(DISTINCT income)
from (
select T1.income from graduates T1,graduates T2
group by T1.income
having sum(case when T2.income >= T1.income then 1 else 0 end) >= count(*)/2
and sum(case when T2.income <= T1.income then 1 else 0 end) >= count(*)/2
) tmp
go
取众数对应的行
/*需求电压众数*/
update ETL_Day_UserCar set ETL_Day_UserCar.DVMode = a.DVMode
from (
select a.BizDate,a.CustID,a.CarModel,a.maxdv as DVMode,count(1) as RecordCount,
Row_NUMBER() OVER(PARTITION BY BizDate,CustID,CarModel ORDER BY count(1) DESC) AS SN
from ETL_UserCarReset a with(nolock)
group by a.BizDate,a.CustID,a.CarModel,a.maxdv
) a
where ETL_Day_UserCar.BizDate = a.BizDate
and ETL_Day_UserCar.CustID = a.CustID
and ETL_Day_UserCar.CarModel = a.CarModel
and a.SN = ''
go
参考资料
- https://blog.csdn.net/youling_lh/article/details/10295713
- https://blog.csdn.net/NextAction/article/details/80421854
平均数_中位数_众数在SqlServer实现的更多相关文章
- 【Udacity】数据的集中程度:众数、平均数和中位数
重视Code Review 极致--目标是成为优秀的开发者 Data tells a story!(数据会讲故事) 分析过程对于建模非常的重要,可以帮助我们减少实际上不相关的特征被错误的加入到模型中, ...
- 数据挖掘-diabetes数据集分析-糖尿病病情预测_线性回归_最小平方回归
# coding: utf-8 # 利用 diabetes数据集来学习线性回归 # diabetes 是一个关于糖尿病的数据集, 该数据集包括442个病人的生理数据及一年以后的病情发展情况. # 数据 ...
- Oracle学习总结_day03_day04_条件查询_排序_函数_子查询
本文为博主辛苦总结,希望自己以后返回来看的时候理解更深刻,也希望可以起到帮助初学者的作用. 转载请注明 出自 : luogg的博客园 谢谢配合! day03_条件查询_排序_函数 清空回收站: PUR ...
- C Primer Plus_第6章_循环_编程练习
1.题略 #include int main(void) { int i; char ch[26]; for (i = 97; i <= (97+25); i++) { ch[i-97] = i ...
- 转:HIBERNATE一些_方法_@注解_代码示例---写的非常好
HIBERNATE一些_方法_@注解_代码示例操作数据库7步骤 : 1 创建一个SessionFactory对象 2 创建Session对象 3 开启事务Transaction : hibernate ...
- 迅为4412开发板Linux驱动教程——总线_设备_驱动注册流程详解
本文转自:http://www.topeetboard.com 视频下载地址: 驱动注册:http://pan.baidu.com/s/1i34HcDB 设备注册:http://pan.baidu.c ...
- 3.IP地址分类_规划_子网掩码
IP地址分类_规划_子网掩码 3.1MAC地址 网卡的身份证号———MAC地址 MAC地址的长度为48位(6个字节),通常表示为12个16进制数,每2个16进制数之间用冒号隔开,如:08:00:20: ...
- 宏定义中的##操作符和... and _ _VA_ARGS_ _
1.Preprocessor Glue: The ## Operator 预处理连接符:##操作符 Like the # operator, the ## operator can be used i ...
- 宏 #,##,_ _VA_ARGS_ _
宏里面使用: 一.# 转为字符串 #define PSQR(x) printf("the square of" #x "is %d.\n",(x)*(x)) ...
随机推荐
- 压力测试+接口测试(工具jmeter)
jmeter是apache公司基于java开发的一款开源压力测试工具,体积小,功能全,使用方便,是一个比较轻量级的测试工具,使用起来非常简单.因 为jmeter是java开发的,所以运行的时候必须 ...
- Loadrunner常见的乱码问题
1.录制的脚本出现了乱码 录制的时候出现乱码,如果不影响回放,我们可以不管它,如果影响回放结果,我们可以使用以下方法解决: 1)更改录制选项 选择菜单栏Tools---> ...
- Linux常用命令汇总集
cd ./ 当前目录 ../ 上级目录 / 代表根目录 or 代表目录和文件之间的分隔符 .. pwd 查看当前路径 LS 查看当前目录下的文件 ls ./a/ 查看目标路径下的文件 tab 自动补全 ...
- unity中获取七天的日期
private List<string> Date; private List<string> Day; private string now; private WMG_Axi ...
- [Codeforces771E]Bear and Rectangle Strips
Problem 给你一个2*n的矩阵,要求你用补充叠的矩阵去框,要求每个矩阵框中的数之和为0,问最多可以用几个矩阵. Solution 首先预处理出一个点到离它最近的一段和为0的区间的左端点 然后到这 ...
- Java基础-常用工具类(二)
Scanner 类 java.util.Scanner 是 Java5 的新特征,我们可以通过 Scanner 类来获取用户的输入. 通过 Scanner 类的 next() 与 nextLine() ...
- 响应式Web设计 H5和CSS3实战(第二版)随笔
第一章 响应式设计基础 1.弹性布局 <meta name = "viewport" content = "width = device-width"&g ...
- error ...项目路径 \node_modules\chromedriver: Command failed.
当你拿到完整的vue项目代码,像 node_modules 整个文件夹不可能提交到svn或者github的, 所以怎么自己安装整个项目所需要的一些依赖呢, 前提是你全局安装了node,才能使用nom命 ...
- Linux性能监控分析命令(一)—vmstat命令详解
一.vmstat介绍 语法格式: vmstat [-V] [-n] [-S unit] [delay [count]] -V prints version. -n causes the headers ...
- wpf-x命名空间-Markup Extension(标记扩展)
1.x:type 用于前端类型声明 与C# 代码 Type类似 2.x:Null 代表Null 某些时候需要显示的为一些值设置为空 前端为 x:Null C# 中 为 Null 3.x:ar ...