在mySQL中建立查询时,最大值最小值很容易得到,但是求分位数时就比较复杂了。本文介绍一种简单的查询分位数方法。
假设要查询product表中price字段的1/3分位数,2/3分位数。SQL语句如下:
#定义一个序号
SET @num=0;
#创建一个临时表
create temporary table b SELECT @num:=@num+1 as num, a.* FROM product a order by a.price;
#找一下在1/3,2/3处的price值
select price from b where num=(@row_num div 3) or num=(@row_num div 3)*2;
怎么样,是不是很简单呢,只需要对排好序的表加一个编号,然后就可以找到对应位置的值啦~