博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
MySQL 函数之求取一个表中的某个字段的中位数
阅读量:4310 次
发布时间:2019-06-06

本文共 891 字,大约阅读时间需要 2 分钟。

CREATE DEFINER=`root`@`%` FUNCTION `get_median_from_communityhistoryprice`() RETURNS float

BEGIN
declare return_value float;
declare median int;
declare median2 int;
declare median_even_1 int;
declare median_even_2 int;
declare temp_1 int;
SELECT count(*) into median from communityhistoryprice;
-- 如果是奇数个数量
if median % 2 = 1 then
select FLOOR(median / 2) into median2;
SELECT price into return_value from communityhistoryprice ORDER BY price asc limit median2,1;
-- 如果是偶数个数量
ELSE
select (FLOOR(median / 2) -1) into median2;
select FLOOR(median / 2) into temp_1;
SELECT price into median_even_1 from communityhistoryprice ORDER BY price asc limit median2,1;
SELECT price into median_even_2 from communityhistoryprice ORDER BY price asc limit temp_1,1;
set return_value = (median_even_1 + median_even_2)/2;
END IF;
RETURN return_value;
END

转载于:https://www.cnblogs.com/ZhangYaF/p/11165893.html

你可能感兴趣的文章
Anaconda+django写出第一个web app(八)
查看>>
模拟 HDOJ 5099 Comparison of Android versions
查看>>
关于http的post传送文件
查看>>
eclipse 快速导入所有需要的包
查看>>
枚举类
查看>>
关于ES6新特性
查看>>
Linux——变色的文件文件夹含义
查看>>
Android异常分析(转)
查看>>
php常用正则表达式
查看>>
ie7浏览器兼容问题
查看>>
matplotlib动态图subplots()和subplot()不同及参数
查看>>
python,shell,locale,charset
查看>>
CSS基础知识点笔记
查看>>
2016中国大学生程序设计竞赛(长春)-重现赛 1010Ugly Problem 回文数 模拟
查看>>
冒泡、选择、插入排序
查看>>
从小白到区块链工程师:第一阶段:Go语言的控制台输入和输出(3)
查看>>
iOS开发系列--通知与消息机制
查看>>
16.jQuery属性操作
查看>>
sonar安装
查看>>
使用chrome开发者工具中的performance面板解决性能瓶颈
查看>>