服务器之家:专注于服务器技术及软件下载分享
分类导航

Mysql|Sql Server|Oracle|Redis|MongoDB|PostgreSQL|Sqlite|DB2|mariadb|Access|数据库技术|

服务器之家 - 数据库 - Sql Server - SQL中位数函数实例

SQL中位数函数实例

2020-05-06 16:15meaijojo Sql Server

本文主要介绍一个SQL中位数函数应用实例,比较实用,希望能给大家做一个参考。

表还是total_sales添加一项

表:

SQL中位数函数实例

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);

 

可以查找到中间的项,count(*)+1,这个1必须要添加,总项数假如为奇数7,则count(*)+1 / 2 = 4,假如是6则为3,都是满足的,如果不+1的话,对奇数项则不满足,如7,count(*) /2 = 3,而我们要查找的则是位于4的位置

结果:

SQL中位数函数实例

以上就是SQL中位数函数实例的全部内容,希望能给大家一个参考,也希望大家多多支持服务器之家。

延伸 · 阅读

精彩推荐