在 MySQL 中,如何计算一组数据的中位数

要得到一组数据的中位数(例如某个地区或某家公司的收入中位数),我们一般要将这一任务细分为 3 个小任务:

1.将数据排序,并给每一行数据给出其在所有数据中的排名;

2.找出中位数的排名数字;

3.找出中间排名对应的值;

下面以某公司员工月收入为例,示例 MySQL 的一些复杂语句的使用。

方法一

创建测试表

首先创建一个收入表,建表语句为:

%ign%ignore_a_1%re_pre_1%

完成任务 1

将数据排序,并给每一行数据给出其在所有数据中的排名:

SELECT t1.name, t1.income, COUNT(*) AS rankFROM employee AS t1,     employee AS t2WHERE t1.income < t2.income   OR (t1.income = t2.income AND t1.name <= t2.name)GROUP BY t1.name, t1.incomeORDER BY rank;

查询结果为:

492a81f0598eb5622f488d41ac30bdf.png

完成小任务 2

找出中位数的排名数字:

SELECT (COUNT(*) + 1) DIV 2 as rankFROM employee;

查询结果为:

210205328ff0784952f3dfa5b67f612.png

完成小任务 3

SELECT income AS medianFROM (SELECT t1.name, t1.income, COUNT(*) AS rank      FROM employee AS t1,           employee AS t2      WHERE t1.income < t2.income         OR (t1.income = t2.income AND t1.name <= t2.name)      GROUP BY t1.name, t1.income      ORDER BY rank) t3WHERE rank = (SELECT (COUNT(*) + 1) DIV 2 FROM employee)

查询结果为:

835e75d07d4ffd52a5482c8a08e89f3.png

至此,我们就找到了如何从一组数据中获得中位数的方法。

php订单系统可以整合支付宝接口 php订单系统可以整合支付宝接口

一、系统设置:用Dreamweaver等网页设计软件在代码视图下打开【dddingdan/config.php】系统设置文件,按注释说明进行系统设置。 二、系统使用:WFPHP在线订单系统是无台后的,不用数据库,也不用安装,解压源码包后,先进行系统设置,然后把整个【dddingdan】文件夹上传到服务器。在网页中要插入订单系统的位置,插入系统调用代码: 注意:id=01就表示使用样式01,如果要使

php订单系统可以整合支付宝接口 0 查看详情 php订单系统可以整合支付宝接口

方法二

下面,来介绍另外一种优化排名语句的方法。

我们都知道如何给一组数据做排序操作,在本例中,实现方法如下:

SELECT name, incomeFROM employeeORDER BY income DESC

查询结果为:

f5b6fd78598104e12fb46a8db24c6ed.png

那我们可不可以更进一步,对查询出的结果加一列,这一列的数据为排名呢?

我们可以通过 3 个自定义变量的方法来实现这一目标:

第一个变量用来记录当前行数据的收入

第二个变量用来记录上一行数据的收入

第三个变量用来记录当前行数据的排名

SET @curr_income := 0;SET @prev_income := 0;SET @rank := 0;SELECT `name`,       @curr_income := income                                      AS income,       @rank := if(@prev_income != @curr_income, @rank + 1, @rank) AS rank,       @prev_income := @curr_income                                AS dummyFROM employeeORDER BY income DESC

查询结果如下:

e755927d76f35a4d443d9fed3c4b927.png

然后再找出中位数的排名数字,进一步找出收入的中位数:

SET @curr_income := 0;SET @prev_income := 0;SET @rank := 0;SELECT income AS medianFROM (SELECT `name`,             @curr_income := income                                      AS income,             @rank := if(@prev_income != @curr_income, @rank + 1, @rank) AS rank,             @prev_income := @curr_income                                AS dummy      FROM employee      ORDER BY income DESC) AS t1WHERE t1.rank = (SELECT (COUNT(*) + 1) DIV 2 FROM employee)

查询结果为:

203ebad79cbd1463414c89cf3b5b959.png

至此,我们找了两种方法来解决中位数的问题。撒花。

推荐:《mysql教程》

以上就是在 MySQL 中,如何计算一组数据的中位数的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1078358.html

赞 (0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
在Go语言中通过进程名称检查进程是否运行
上一篇 2025年12月2日 17:22:44
【天下3】三门派副本天赋修改,玄溟图腾调整!多项优化同步上线,等你体验~
下一篇 2025年12月2日 17:22:53

相关推荐

  • 当书网最新访问域名_当书downbook官网入口链接

    当书网最新访问域名_当书downbook官网入口链接当书网最新访问域名_当书downbook官网入口链接当书网最新访问域名_当书downbook官网入口链接当书网最新访问域名_当书downbook官网入口链接

    当书网最新域名是downbook.org,其手机端网址为m.downbook.org,用户可通过该入口访问海量小说资源并享受个性化阅读设置。 当书网最新访问域名在哪里?这是不少网友都关注的,接下来由PHP小编为大家带来当书网downbook官网入口链接,感兴趣的网友一起随小编来瞧瞧吧! http:/…

    2026年10月3日 • 用户投稿
    100
  • laravel怎么对上传的文件进行MIME类型验证_laravel文件上传MIME类型验证方法

    可通过Laravel的mimetypes和mime规则校验文件MIME类型以限制上传,如’image/jpeg,image/png’;结合Fileinfo扩展手动检测真实类型,并创建自定义验证规则ValidImageMimeType提升复用性。 如果您在使用 Laravel …

    2026年10月3日
    200
  • 如何在mysql中优化缓存使用

    答案:MySQL缓存调优核心是配置InnoDB缓冲池、关闭查询缓存、合理设置表缓存。应将innodb_buffer_pool_size设为内存50%~70%,启用多个buffer pool实例,关闭query_cache减少锁争用,调大table_open_cache和table_definitio…

    2026年10月3日
    100
  • mysql中and必须大写吗 mysql关键字大小写规则

    在mysql中,关键字不需要大写,因为mysql对关键字大小写不敏感。1)你可以使用and、and、and等形式,mysql都能正确识别和执行。2)但在实际开发中,统一的编码风格很重要,很多团队选择使用大写关键字以区分关键字和标识符,提高代码可读性。3)mysql对标识符的处理可以通过lower_c…

    2026年10月3日
    1300
  • Craft CMS 元素预加载:自定义参数与 PHP 数组语法陷阱解析

    本文深入探讨了在 Craft CMS 中为预加载(Eager-Loaded)元素定义自定义参数的方法,重点解决了一个常见的 PHP 语法错误:在 with() 方法中为关联元素传递参数时,误用 JavaScript 风格的对象字面量 {} 而非正确的 PHP 数组语法 []。通过具体示例,文章演示了…

    2026年10月3日
    100
  • 韩网naver登录入口操作指南_韩网naver官网访问技巧

    韩网naver登录入口操作指南_韩网naver官网访问技巧韩网naver登录入口操作指南_韩网naver官网访问技巧韩网naver登录入口操作指南_韩网naver官网访问技巧韩网naver登录入口操作指南_韩网naver官网访问技巧

    韩网naver登录入口操作指南如下:1、官网点击“JOIN”注册,填邮箱或手机号设密码;2、填写真实姓名、生日、性别;3、选短信或邮箱收验证码完成核验;4、用ID和密码登录。实名认证需进入用户中心上传证件,填信息并提交审核。多语言切换可点右上角“EN”或“中文”,无中文则用浏览器翻译。刷新即生效,方…

    2026年10月3日 • 用户投稿
    200
  • 51漫画网页版免费_51漫画在线观看免费入口

    51漫画网页版免费_51漫画在线观看免费入口51漫画网页版免费_51漫画在线观看免费入口51漫画网页版免费_51漫画在线观看免费入口51漫画网页版免费_51漫画在线观看免费入口

    51漫画网页版免费在线观看入口为https://www.51manhua.com/,平台资源丰富,涵盖冒险、校园、恋爱、奇幻等多种题材,更新及时,分类清晰,支持简介预览;界面简洁,操作便捷,阅读器适配横竖屏,加载流畅,具备书签功能;支持多终端访问,无需下载客户端,跨设备同步收藏,用户体验良好。 51…

    2026年10月3日 • 用户投稿
    200
  • 7月及1-7月江浙沪地区车型销量榜:小米SU7双榜第二

    ☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 免费无限量使用 DeepSeek R1 模型☜☜☜ 小米su7 8月25日,有汽车媒体公布了%ignore_a_1%7月及1-7月江浙沪地区车型销量TOP20榜单。数据显示,小米SU7在该区域表现抢眼,分别以8010辆的单月销量和58138辆的累…

    2026年10月3日
    100
  • Yii框架中的表单构建器:构建复杂表单

    随着互联网的快速发展,web应用越来越成为人们生活中不可或缺的一部分。而表单是web应用中不可或缺的元素之一,其用于收集用户数据,让web应用能够更好地为用户服务。 Yii框架是一个快速、高效、灵活的PHP框架,可以帮助开发人员更加快速地开发Web应用。Yii框架中的表单构建器(Form Build…

    用户投稿 2026年10月3日
    100
  • 解决复选框数据无法插入数据库的问题:系统化调试指南

    本文旨在解决Web应用中复选框数据无法成功插入数据库的问题。我们将深入探讨常见错误原因,并提供一套系统化的调试策略,包括利用XDebug进行代码追踪、检查PHP错误日志、直接验证数据库状态以及排查数据库连接配置,确保开发者能够高效定位并解决数据插入失败的根本原因。 理解问题:复选框数据插入失败的常见…

    2026年10月2日
    100
  • win8开始菜单怎么换成win7开始菜单?

    win8开始菜单怎么换成win7开始菜单?win8开始菜单怎么换成win7开始菜单?win8开始菜单怎么换成win7开始菜单?win8开始菜单怎么换成win7开始菜单?

    win8开始菜单如何切换为win7开始菜单?许多用户在从win7升级到win8后,觉得win8的开始菜单操作起来不太顺手,因为习惯了win7的传统界面,面对win8的新式界面感到有些不适。那么,win8的开始菜单如何切换回win7的样式呢?接下来就为大家详细介绍这一过程。 Win8开始菜单切换为Wi…

    2026年10月2日 • 用户投稿
    200
  • Kimi Chat网页总结不准?如何精准提取核心信息

    Kimi Chat网页总结不准?如何精准提取核心信息Kimi Chat网页总结不准?如何精准提取核心信息Kimi Chat网页总结不准?如何精准提取核心信息Kimi Chat网页总结不准?如何精准提取核心信息

    kimi chat网页总结不准的原因及解决方法如下:1. 网页结构解析与数据清洗,使用beautiful soup、lxml等html解析库提取正文内容,并通过正则表达式去除噪声信息;2. 信息过滤与重要性排序,采用关键词提取、tf-idf、textrank等算法筛选关键信息,并结合自定义停用词表和…

    2026年10月2日 • 用户投稿
    000
  • 2025最新版AO3网址怎么进入 AO3网页版访问方法全攻略

    2025最新版AO3网址怎么进入 AO3网页版访问方法全攻略2025最新版AO3网址怎么进入 AO3网页版访问方法全攻略2025最新版AO3网址怎么进入 AO3网页版访问方法全攻略2025最新版AO3网址怎么进入 AO3网页版访问方法全攻略

    %ignore_a_1%AO3最新网址为https://archiveofourown.org/,进入后需稳定网络连接,通过注册或登录账号访问,支持语言切换至中文及个性化设置,登录后可浏览、搜索、收藏作品并参与互动。 立即进入“☞☞☞☞点击ao3镜像官网入口一键跳转☜☜☜☜☜”; 立即进入“☞☞☞☞…

    2026年10月2日 • 用户投稿
    200
  • Yii框架中的视图:高效地构建网页界面

    在开发web应用程序中,网页界面的构建和呈现往往是一个不可避免的任务。为了提高开发效率,一些开发人员借助于框架来简化这个任务。而yii框架作为一种流行的php框架,其中的视图功能就为网页界面开发提供了相当方便高效的解决方案。 Yii框架中的视图是一个构建网页界面的模板系统。在MVC(模型-视图-控制…

    用户投稿 2026年10月2日
    100
  • 当书网最新域名入口_当书downbook官方登录地址

    当书网最新域名入口_当书downbook官方登录地址当书网最新域名入口_当书downbook官方登录地址当书网最新域名入口_当书downbook官方登录地址当书网最新域名入口_当书downbook官方登录地址

    当书网最新域名入口地址为http://sj.downbook.cc/、http://m.downbook.cc/和http://downbook.org/,提供海量电子书资源与个性化阅读功能,支持多设备访问和离线下载。 当书网最新域名入口地址在哪里?这是不少网友都关注的,接下来由PHP小编为大家带来…

    2026年10月2日 • 用户投稿
    100
  • 优化PHP框架的性能表现_通过ThinkPHP实现php框架怎么用的调优

    启用生产模式、配置与路由缓存、优化数据库查询、合理使用页面缓存是提升ThinkPHP性能的关键。通过关闭调试模式、生成配置缓存文件、设置数据库索引与查询缓存、开启模板及页面缓存,可显著降低资源消耗、加快响应速度,实现高效稳定的Web应用运行。 提升PHP框架的性能,关键在于减少资源消耗、加快响应速度…

    2026年10月2日
    500
  • PHP操作MySQL数据库时与Elasticsearch集成的应用

    在php中操作mysql数据库并与elasticsearch集成可以通过以下步骤实现:1. 使用mysqli或pdo扩展连接mysql数据库进行数据操作。2. 利用elasticsearch的php客户端库进行数据索引和搜索。3. 通过定时任务或触发器实现mysql数据的实时同步到elasticse…

    2026年10月2日
    100
  • Yii框架中的模型关系:实现数据关联

    在%ignore_a_1%框架中,模型关系是一个非常重要的概念,用于实现多个数据表之间的数据关联。通过定义关联关系,可以使得在查询数据时,可以直接获取到相关联的数据,从而大大降低查询复杂度,提高数据查询效率。本文将详细介绍yii框架中的模型关系,包括如何定义关联关系、不同类型的关联关系以及如何使用关…

    用户投稿 2026年10月2日
    000
  • 掌握SQL中JOIN、WHERE和ORDER BY的组合使用技巧

    本文详细阐述了在SQL查询中同时使用JOIN、WHERE和ORDER BY子句的正确语法和逻辑顺序。重点强调了ON子句应紧随其关联的JOIN操作之后,以及WHERE子句必须位于ORDER BY子句之前,以确保查询的准确性和效率。通过具体示例,帮助读者构建结构清晰、功能完善的SQL查询语句。 SQL查…

    2026年10月2日
    100
  • 详解thinkPHP利用ajax异步上传图片并显示、删除

    详解thinkPHP利用ajax异步上传图片并显示、删除详解thinkPHP利用ajax异步上传图片并显示、删除详解thinkPHP利用ajax异步上传图片并显示、删除详解thinkPHP利用ajax异步上传图片并显示、删除

    下面由thinkphp教程栏目给大家介绍thinkphp利用ajax异步上传图片并显示、删除方法,希望对需要的朋友有所帮助! thinkPHP利用ajax异步上传图片并显示、删除 近来学习tp5的过程中,项目中有个发帖功能,选择主题图片。如下: 利用原始的文件上传处理,虽然通过原始js语句能实时显示…

    2026年10月2日 • 用户投稿
    200

发表回复

登录后才能评论
关注微信