sql中求中位数的函数 SQL中位数函数实例?
SQL中位数函数实例?
SQL语句:
代码如下:
(
SELECT a1.Name,a1.Sales,COUNT(a2.sales) Sales_Rank
FROM Total_Sales a1,Total_Sales a2
WHERE a1.Sales < a2.Sales or (a1.Sales=a2.Sales and a1.Name = a2.Name)
GROUP BY a1.Name,a1.Sales
ORDER BY a1.Sales DESC,a1.Name DESC
) as tab WHERE tab.sales_rank=(select (count(*) 1) div 2 from total_sales)
可以查找到中间的项,count(*) 1,这个1必须要添加,总项数假如为奇数7,则count(*) 1 / 2 = 4,假如是6则为3,都是满足的,如果不 1的话,对奇数项则不满足,如7,count(*) /2 = 3,而我们要查找的则是位于4的位置
sqlserver里取两个整数相除的百分比,小数点后保留2位用什么函数?
1.round()函数是四舍五入用,第一个参数是我们要被操作的数据,第二个参数是设置我们四舍五入之后小数点后显示几位。2.numeric函数的2个参数,第一个表示数据长度,第二个参数表示小数点后位数。例如: selectcast(round(12.5,2)asnumeric(5,2))结果:12.50 selectcast(round(12.555,2)asnumeric(5,2))结果:12.56 selectcast(round(122.5255,2)asnumeric(5,2))结果:122.53 selectcast(round(1222.5255,2)asnumeric(5,2))结果:报错了!原因是:1222.5255,整数位是4,小数位是2,加起来4 2=6,超出了numeric设置的5位,所以为了保险,可以增减numeric的参数,例如numeric(20,2)。
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。