SQL如何查询排名函数

这篇文章将为大家详细讲解有关SQL如何查询排名函数,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。

创新互联云计算的互联网服务提供商,拥有超过13年的服务器租用、德阳服务器托管、云服务器、虚拟空间、网站系统开发经验,已先后获得国家工业和信息化部颁发的互联网数据中心业务许可证。专业提供云主机、虚拟空间、申请域名、VPS主机、云服务器、香港云服务器、免备案服务器等。

在实际开发中经常会遇到计算某个字段的排名的情况

如下表:totak_sales

现在又如此要求:按sales的逆序排序,要求添加一个sales_rank字段,显示排名顺序

方法:

 代码如下: SELECT a1.Name, a1.Sales, COUNT(a2.sales) Sales_RankFROM Total_Sales a1, Total_Sales a2WHERE a1.Sales <= a2.Sales or (a1.Sales=a2.Sales and a1.Name = a2.Name)GROUP BY a1.Name, a1.SalesORDER BY a1.Sales DESC, a1.Name DESC;

结果:

或:

代码如下: SELECT a1.Name, a1.Sales, COUNT(a2.sales) Sales_RankFROM Total_Sales a1, Total_Sales a2WHERE a1.Sales < a2.Sales or (a1.Sales=a2.Sales and a1.Name = a2.Name)GROUP BY a1.Name, a1.SalesORDER BY a1.Sales DESC, a1.Name DESC;

结果:

由上面的方案,我们可以继续推测,如何选出某项来呢?

比如排名为5的那项内容:

代码如下: SELECT * from(SELECT a1.Name, a1.Sales, COUNT(a2.sales) Sales_RankFROM Total_Sales a1, Total_Sales a2WHERE a1.Sales < a2.Sales or (a1.Sales=a2.Sales and a1.Name = a2.Name)GROUP BY a1.Name, a1.SalesORDER BY a1.Sales DESC, a1.Name DESC) as tab WHERE tab.sales_rank=5;

关于SQL如何查询排名函数就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。


当前文章:SQL如何查询排名函数
网站路径:http://pwwzsj.com/article/jjodcd.html