平均数、中位数、众数都是度量一组数据集中趋势的统计量。所谓集中趋势是指一组数据向某一中心值靠拢的倾向,测度集中趋势就是寻找数据一般水平的代表值或中心值。而这三个特征数又各有特点,能够从不同的角度提供信息。

平均数


  • 特点:计算用到所有的数据,它能够充分利用数据提供的信息,它具有优 的数学性质,因此在实际应用中较为广泛。但它受极端值的影响较大。
  • 应用场合:没有极端值的情况下数据集中趋势的刻画。
  • 如:小明五次测试的成绩好下,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

      

参考资料


平均数_中位数_众数在SqlServer实现的更多相关文章

  1. 【Udacity】数据的集中程度:众数、平均数和中位数

    重视Code Review 极致--目标是成为优秀的开发者 Data tells a story!(数据会讲故事) 分析过程对于建模非常的重要,可以帮助我们减少实际上不相关的特征被错误的加入到模型中, ...

  2. 数据挖掘-diabetes数据集分析-糖尿病病情预测_线性回归_最小平方回归

    # coding: utf-8 # 利用 diabetes数据集来学习线性回归 # diabetes 是一个关于糖尿病的数据集, 该数据集包括442个病人的生理数据及一年以后的病情发展情况. # 数据 ...

  3. Oracle学习总结_day03_day04_条件查询_排序_函数_子查询

    本文为博主辛苦总结,希望自己以后返回来看的时候理解更深刻,也希望可以起到帮助初学者的作用. 转载请注明 出自 : luogg的博客园 谢谢配合! day03_条件查询_排序_函数 清空回收站: PUR ...

  4. 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 ...

  5. 转:HIBERNATE一些_方法_@注解_代码示例---写的非常好

    HIBERNATE一些_方法_@注解_代码示例操作数据库7步骤 : 1 创建一个SessionFactory对象 2 创建Session对象 3 开启事务Transaction : hibernate ...

  6. 迅为4412开发板Linux驱动教程——总线_设备_驱动注册流程详解

    本文转自:http://www.topeetboard.com 视频下载地址: 驱动注册:http://pan.baidu.com/s/1i34HcDB 设备注册:http://pan.baidu.c ...

  7. 3.IP地址分类_规划_子网掩码

    IP地址分类_规划_子网掩码 3.1MAC地址 网卡的身份证号———MAC地址 MAC地址的长度为48位(6个字节),通常表示为12个16进制数,每2个16进制数之间用冒号隔开,如:08:00:20: ...

  8. 宏定义中的##操作符和... and _ _VA_ARGS_ _

    1.Preprocessor Glue: The ## Operator 预处理连接符:##操作符 Like the # operator, the ## operator can be used i ...

  9. 宏 #,##,_ _VA_ARGS_ _

    宏里面使用: 一.#  转为字符串 #define PSQR(x) printf("the square of" #x "is %d.\n",(x)*(x)) ...

随机推荐

  1. 20175317 《Java程序设计》第三周学习总结

    20175317 <Java程序设计>第三周学习总结 教材学习内容总结 第三周我学习了教材第四章的内容,了解了Java中的部分常用语句,学到了以下内容: 明白了什么是类,成员变量有哪些,什 ...

  2. Jellyfish详解

    一.Jellyfish简介 JELLYFISH是CBCB(Center for Bioinformatics and Computational Biology)的Guillaume Marçais ...

  3. MVC实战之排球计分(五)—— Controller的设计与实现

    控制器 控制器接受用户的输入并调用模型和视图去完成用户的需求.所以当单击Web页面中的超链接和发送HTML表单时, 控制器本身不输出任何东西和做任何处理.它只是接收请求并决定调用哪个模型构件去处理请求 ...

  4. 从rnn到lstm,再到seq2seq(一)

    rnn的的公式很简单: 对于每个时刻,输入上一个时刻的隐层s和这个时刻的文本x,然后输出这个时刻的隐层s.对于输出的隐层s 做个ws+b就是这个时刻的输出y. tf.scan(fn, elems, i ...

  5. java 常见语法,但是发现switch等基础,常见面试套路不会了,待补充

    1,面向对象,万物皆对象,面向对象的三个基本特性:封 装,继承,多态. 面向对象的程序都是由类组成,类封装了对象的属性和行为. 封装:隐藏对象的属性和实现细节,仅对外提供接口. 继承:实现代码复用,将 ...

  6. mysql索引 ->创建索引、修改索引、删除索引的命令语句

    查看表中已经存在 index:show index from table_name; 创建和删除索引索引的创建可以在CREATE TABLE语句中进行,也可以单独用CREATE INDEX或ALTER ...

  7. [sgu P155] Cartesian Tree

    155. Cartesian Tree time limit per test: 0.25 sec. memory limit per test: 65536 KB input: standard i ...

  8. 洛谷P1030求先序排列

    题目描述 给出一棵二叉树的中序与后序排列.求出它的先序排列.(约定树结点用不同的大写字母表示,长度≤8. 输入输出格式 输入格式: 2行,均为大写字母组成的字符串,表示一棵二叉树的中序与后序排列. 输 ...

  9. javascript 预解析

    内容来源:http://www.cnblogs.com/TomXu/archive/2011/12/28/2286877.html JavaScript中,你可以在函数的任何位置声明多个var语句,并 ...

  10. scp ssh-key连接原理

    scp ssh-key连接原理   如何关闭位置解析 vim手动打开ssh的配置文件修改81行和122行,位置解析需要双方都关闭      注意重点部分   ssh特别提醒   22端口信息   连接 ...