您的位置:首页 > 数据库 > MySQL

MySQL求中位数

2015-08-20 12:57 701 查看
-- 只适用于每个数字只有1位的情况

set @str = '12345';
set @len = LENGTH(@str);
-- select @len;
set @mo = mod(@len,2);
-- select @mo


set @result = SUBSTRING(@str,floor(if(@mo=1,(@len+1)/2,@len/2)),if(@mo=1,1,2));

set @len2 = LENGTH(@result);

-- select ((cast(SUBSTRING(@result,1,1) as SIGNED INTEGER) )+cast(SUBSTRING(@result,2,1) as SIGNED INTEGER))/2;
set @result2 = if(@len2=1,@result,((cast(SUBSTRING(@result,1,1) as SIGNED INTEGER) )+cast(SUBSTRING(@result,2,1) as SIGNED INTEGER))/2);
-- select @ind

select @result2;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: