设为首页 - 加入收藏 ASP站长网(Aspzz.Cn)- 科技、建站、经验、云计算、5G、大数据,站长网!
热搜: 数据 创业者 手机
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

sql查询结果排名函数怎样使用?

发布时间:2022-03-03 13:37 所属栏目:116 来源:互联网
导读:本文主要给大家分享的是关于sql查询结果排名函数的排名,也就是对查询结果排名的实例介绍,下文有具体代码供大家参考,感兴趣的朋友可以了解一下。 如下表:totak_sales 现在又如此要求:按sales的逆序排序,要求添加一个sales_rank字段,显示排名顺序 方法
       本文主要给大家分享的是关于sql查询结果排名函数的排名,也就是对查询结果排名的实例介绍,下文有具体代码供大家参考,感兴趣的朋友可以了解一下。
 
        如下表:totak_sales
 
 
        现在又如此要求:按sales的逆序排序,要求添加一个sales_rank字段,显示排名顺序
 
        方法:
 
        代码如下:
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;
 
        结果:
 
 
        或:
 
        代码如下:
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;
 
        结果:
 
 
 
        由上面的方案,我们可以继续推测,如何选出某项来呢?
 
        比如排名为5的那项内容:
 
        代码如下:
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=5;

(编辑:ASP站长网)

    网友评论
    推荐文章
      热点阅读