SQL中位数函数实例
更新时间:2016年06月12日 09:35:01 作者:meaijojo
本文主要介绍一个SQL中位数函数应用实例,比较实用,希望能给大家做一个参考。
表还是total_sales添加一项
表:

SQL语句:
复制代码 代码如下:
SELECT * from
(
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);
(
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的位置
结果:

以上就是SQL中位数函数实例的全部内容,希望能给大家一个参考,也希望大家多多支持脚本之家。
相关文章
Windows下使用性能监视器监控SqlServer的常见指标
这篇文章主要介绍了Windows下使用性能监视器监控SqlServer的常见指标,常见指标包括Buffer Cache Hit Ratio、Pages/sec、 Available Bytes、Disk Time、Avg. Disk Queue Length、Processor Time、Processor Queue Length等,需要的朋友可以参考下2015-02-02
sqlserver四舍五入使用round函数及cast和convert函数
大家在遇到sqlserver四舍五入除了用round函数还有没有其他方法呢?下面小编给大家介绍使用cast和convert函数,感兴趣的朋友一起学习吧2015-11-11
sqlserver/mysql按天、按小时、按分钟统计连续时间段数据【推荐】
最近小编接到这样的需求,公司需要按天,按小时查看数据,可以直观的看到时间段的数据峰值。这篇文章主要介绍了sqlserver/mysql按天,按小时,按分钟统计连续时间段数据 ,需要的朋友可以参考下2019-06-06


最新评论