MySQL求中位数

-- 只适用于每个数字只有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;

猜你喜欢

转载自pepple.iteye.com/blog/2236823