在实际开发中经常会遇到计算某个字段的排名的情况
如下表: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查询排名函数实例的全部内容,希望能给大家一个参考,也希望大家多多支持。
SQL,查询,排名
更新动态
- dnf奶妈自定义buff量表
- 采薇薇《痴心换情深》限量1:1母盘直刻[低速原抓WAV+CUE]
- 林奕匡2016-小众情人(新曲+精選)[SONY][WAV+CUE]
- 卓依婷林正桦《深情对唱》正红唱片[低速原抓WAV+CUE]
- 人气原创奇幻动画《眷思量2》宣布定档:6月1日首播
- 双厨狂喜!仰望宣布全系车型登陆《极品飞车:集结》
- 类魂新作《艾诺提亚:失落之歌》15分钟新实机 5.22上线试玩版
- 群星《群星歌曲合集》[320K/MP3][3.2G]
- 曲婉婷《曲婉婷歌曲合集》[320K/MP3][639.4MB]
- 齐秦《齐秦歌曲合集》[320K/MP3][160MB]
- 卓文萱.2009-1+1.PLAY.N.FUN珍选集2CD【滚石】【WAV+CUE】
- 莫文蔚.2021-TheVoyage【FLAC分轨】
- 群星.2015-民歌40·再唱一段思想起3CD【大块文化】【WAV+CUE】
- 漫威终极逆转是什么类型的游戏 漫威终极逆转游戏介绍
- 漫威终极逆转国服什么时候上线 漫威终极逆转国服介绍