mysql median_在MySQL中使用MEDIAN和MAX,MIN和AVG功能
即使没有内置函数,你也可以用MySQL中的GROUP BY计算中位数.
考虑一下表:
Acrington 200.00
Acrington 200.00
Acrington 300.00
Acrington 400.00
Bulingdon 200.00
Bulingdon 300.00
Bulingdon 400.00
Bulingdon 500.00
Cardington 100.00
Cardington 149.00
Cardington 151.00
Cardington 300.00
Cardington 300.00
对于每一行,您可以计算较少的类似项目的数量.您还可以计算有多少值小于或等于:
name v < <=
Acrington 200.00 0 2
Acrington 200.00 0 2
Acrington 300.00 2 3
Acrington 400.00 3 4
Bulingdon 200.00 0 1
Bulingdon 300.00 1 2
Bulingdon 400.00 2 3
Bulingdon 500.00 3 4
Cardington 100.00 0 1
Cardington 149.00 1 2
Cardington 151.00 2 3
Cardington 300.00 3 5
Cardington 300.00 3 5
随着查询
SELECT name,v, (SELECT COUNT(1) FROM sale WHERE v
, (SELECT COUNT(1) FROM sale WHERE v<=o.v AND name=o.name) as lse
FROM sale o
当小于或等于计数是项目数量的一半时,将出现中值
> Acrington有4件商品.其中一半是2,其范围为0..2(对应于200.00),也在2..3范围内(对应于300.00)
> Bullingdon也有4件物品. 2在1..2(值300.00)和2..3(值400.00)的范围内
> Cardington有5件衣服.值2.5在2和3之间,对应于Cardington 151.
中值是返回的最小值和最大值的平均值:
SELECT cs.name,v
FROM
(SELECT name,v, (SELECT COUNT(1) FROM sale WHERE v
, (SELECT COUNT(1) FROM sale WHERE v<=o.v AND name=o.name) as lse
FROM sale o) cs JOIN
(SELECT name,COUNT(1)*.5 as cn
FROM sale
GROUP BY name) cc ON cs.name=cc.name
WHERE cn between ls and lse
这使:
Acrington 200.00
Acrington 200.00
Acrington 300.00
Bulingdon 300.00
Bulingdon 400.00
Cardington 151.00
最后我们可以得到中位数:
SELECT name,(MAX(v)+MIN(v))/2 FROM
(SELECT cs.name,v
FROM
(SELECT name,v, (SELECT COUNT(1) FROM sale WHERE v
, (SELECT COUNT(1) FROM sale WHERE v<=o.v AND name=o.name) as lse
FROM sale o) cs JOIN
(SELECT name,COUNT(1)*.5 as cn
FROM sale
GROUP BY name) cc ON cs.name=cc.name
WHERE cn between ls and lse
) AS medians
GROUP BY name
给予
Acrington 250.000000
Bulingdon 350.000000
Cardington 151.000000
mysql median_在MySQL中使用MEDIAN和MAX,MIN和AVG功能相关推荐
- php ajax mysql 分页查询_PHP中使用jQuery+Ajax实现分页查询多功能操作(示例讲解)
1.首先做主页面Ajax_pag.php 代码如下: Ajax做分页 .header{ margin-top: 20px; } 关键字: 地区代号地区名称父级代号 2.然后做分页查询JS页面Ajax_ ...
- mysql之count,max,min,sum,avg,celing,floor
系列文章 mysql之创建数据库,创建数据表 mysql之select,insert,delete,update mysql之group by,order by count 计数,经常和group b ...
- MATLAB中求最大/最小值max/min函数
求矩阵的最大值和最小值 求矩阵A的最大值的函数有3种调用格式,分别是: (1) max(A):返回一个行向量,向量的第i个元素是矩阵A的第i列上的最大值. (2) [Y,U]=max(A):返回行向量 ...
- MySQL基础篇-MySQL 命令大全
当然是为我的第一位粉丝->怡宝 准备的一篇MySQL咯 要看进阶篇的小伙伴点着哦!!!! MySQL进阶篇 - 索引篇 1.启动MySQL,备份数据: 1.1启动MySQL服务: cmd 命令行 ...
- mysql isreg_`Innodb` MySQL中如何优雅的删除大表跑路
最近很想写写MySQL相关的内容,就从这个话题出发吧 有人说删MySQL表谁不会 不就是 drop table TABLENAME 如果在生产环境中,你对一张TB级别的大表,敲下这行命令 那么你的主管 ...
- mysql''和null,mysql中NULL和null的区别
接触php的web开发一段时间了,在进行数据库操作的时候经常会遇到一个问题,使得同一字段在页面显示时有3种类型NULL,null以及数字,当时的解决办法是将这一字段定义为varchar类型,在插入数据 ...
- 小记mysql备份同库中一张表的历史记录
mysql备份同库中一张表的历史记录 insert into -select 需求 如今有个这么一个需求.mysql中有个表.数据增长的非常快.可是呢这个数据有效期也就是1个月,一个月曾经的记录不太重 ...
- mysql算法函数_mysql中的函数总结
mysql中常用日期时间函数 MySQL服务器中的三种时区设置: ①系统时区---保存在系统变量system_time_zone ②服务器时区---保存在全局系统变量global.time_zone ...
- mysql in边界_mysql中 where in 用法详解
这里分两种情况来介绍 WHERE column IN (value1,value2,...) WHERE column NOT IN (value1,value2,...) 1.in 后面是记录集,如 ...
- koa mysql模块_koa 项目中引入 mysql
由于mysql模块的操作都是异步操作,每次操作的结果都是在回调函数中执行,现在有了async/await,就可以用同步的写法去操作数据库 Promise封装mysql模块 Promise封装 ./as ...
最新文章
- Java局部变量final
- JavaScript text highlighting JQuery plugin
- linux基础-网络基础知识篇
- 微软正式发布Windows 10 2020年10月更新
- python深入与提高_Python深入01 特殊方法与多范式
- python代码读取外部变量_关于python闭包的问题,内部函数可以获取外部函数的变量吗?...
- wxWidgets:TextCtrl示例
- GIS数据格式整理之Coverage篇
- @Controller,@Service,@Repository,@Component详解
- spring 多租户_使用Spring Security的多租户应用程序的无状态会话
- 红外线遥控c语言程序,红外遥控的C程序
- 红橙Darren视频引申 第一次写NDK项目(Android studio 4.1.1)
- SpringMVC中@RequestMapping参数设置
- [礼仪大赛策划方案]图:如何打造一场精美极致的礼仪大赛?PPT动态柱状图,如何动态显示?Flash如何渲染PPT界面呢?
- 阿里云视频点播 和HLS加密解密
- python-直接删除整个文件夹
- 教师计算机提升工程培训心得,教师信息技术应用能力提升培训心得体会3篇
- 【安卓】处理Android Studio中文字体为繁体字
- 鸢尾花分类python算法_BP算法鸢尾花分类
- android 粗暴简单仿美团/大众点评搜索方式,详细标注
热门文章
- go sync.once用法
- 数学建模(6)-Matlab绘制图像精细修改
- 盘点20条Allegro操作指令,老司机都不一定掌握的技能
- Java并发系列之并发编程的挑战
- 摄影测量前方交会编程实现
- Electron入门——代码压缩与打包exe文件
- Android Studio快速开发之道
- 计算机提示策略阻止安装,win7安装软件提示此程序被组策略阻止怎么办
- android手机内存单位 吉字节,Android8.1 吉字节问题
- mandriva csdn_与Google的双重开源Mandriva告别,还有更多新闻