AG广东会,山东十一选五,大发

?
  • AG广东会400电话
  • 微网小程序
  • AI电话山东十一选五
  • 电商代运营
  • AG广东会,山东十一选五,大发:全 部 栏 目

    AG广东会400电话 网络优化推广 AI电话山东十一选五 呼叫中心 网站建设 商标?知产 微网小程序 电商运营 彩铃?短信 增值拓展业务
    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;

    当然,此时如果将顺序修改为3的话,就不能很好的查找到内容了,这个还是一个弊端,需进行修改,待续

    以上就是SQL查询排名函数实例的全部内容,希望能给大家一个参考,也希望大家多多支持脚本之家。

    您可能感兴趣的文章:
    • SQL2005 四个排名函数(row_number、rank、dense_rank和ntile)的比较
    • 实例讲解sql server排名函数DENSE_RANK的用法
    • SqlServer 2005的排名函数使用小结
    • sql四大排名函数之ROW_NUMBER、RANK、DENSE_RANK、NTILE使用介绍
    上一篇:SQL语句之Union和Union All的用法
    下一篇:SQLSERVER简单创建DBLINK操作远程服务器数据库的方法
  • 相关文章
  • ?

    ? 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    SQL查询排名函数实例 SQL,查询,排名,函数,实例,

    AG广东会官网入口(中国)官方网站-IOS/Android通用版(2026已更新)