`

查询前N名,第N名重复解决办法

阅读更多
需求:统计等级排名前N名,等级相同则比较经验值(基本上不会相同,除非到等级)
   如果第N名和第N+1名相同,则N+1名也输出,依此类推。

表信息:表名:players
        列名:playerID    玩家ID
              playerName  玩家名称
              level       等级
              exp         经验值

统计SQL:

### 确定结果肯定大于N的查询sql

SELECT p.`playerID`, p.`playerName`,p.`level`, p.`exp`
FROM `players` AS p, (SELECT t.`level` AS tLevel, t.`exp` AS tExp
                  FROM players AS t
                  ORDER BY t.`level` DESC,t.`exp` DESC
                  LIMIT N-1,1) AS t1
WHERE p.level >= t1.tLevel AND p.exp >= t1.tExp
ORDER BY p.level DESC,p.exp DESC;


### 不确定结果大小

SELECT p.`playerID`, p.`playerName`,p.`level`, p.`exp`
FROM `players` AS p,
(SELECT (CASE WHEN MIN(t2.ttLevel) IS NULL THEN 0 ELSE MIN(t2.ttLevel) END) AS tLevel
,(CASE WHEN MIN(t2.ttExp) IS NULL THEN 0 ELSE MIN(t2.ttExp) END) AS tExp
FROM (SELECT t.`level` AS ttLevel, t.`exp` AS ttExp FROM players AS t
ORDER BY t.`level` DESC,t.`exp` DESC
        LIMIT N) as t2
) AS t1
WHERE p.level >= t1.tLevel AND p.exp >= t1.tExp
ORDER BY p.level DESC,p.exp DESC;

0
0
分享到:
评论

相关推荐

    极点五笔6.5n

    而“说明_Readme.html”通常包含了软件的详细使用说明、版本信息、注意事项以及可能遇到的问题与解决办法。 在安装和使用极点五笔6.5n时,用户需要注意以下几点: 1. **系统兼容性**:确保自己的计算机系统与软件...

    推荐了几个C++汉诺塔问题的分析方法以及解决办法

    2. **递归步骤**:要将n个盘子从柱子A移动到柱子C,首先需要将前n-1个盘子借助柱子B从A移动到C,然后将第n个盘子直接从A移动到C,最后再将柱子B上的n-1个盘子借助柱子A移动到C。 ### 递归算法实现 在C++中,我们...

    Duplicate__Net__Names__Wire解决办法

    ### Altium Designer中“Duplicate Net Names Wire”错误的终极解决办法 #### 一、问题概述 在使用Altium Designer进行电路设计过程中,遇到“Duplicate Net Names Wire”这一类错误是较为常见的现象。这类错误通常...

    CAD常见小问题解决办法.doc

    ### CAD常见小问题解决办法详解 #### 一、[Ctrl+N 无效时的解决方法] 在使用CAD软件的过程中,我们通常会使用`Ctrl+N`快捷键来新建一个项目。但是有时候按下`Ctrl+N`后,并不会立即创建新的项目,而是弹出了一个...

    VC问题和解决办法集.doc

    在这个问题和解决办法集中,我们探讨了一些常见的VC++编程中的概念和问题。 1. `_DEBUG` 预定义宏:在VC++中,`_DEBUG`宏是在Debug配置下自动定义的,用于启用调试功能,如内存泄漏检测等。如果你在代码中找不到这...

    N+ 一款很有难度的小游戏

    通常,这类文件会提醒用户检查系统配置是否满足游戏需求,以及安装过程中可能遇到的问题和解决办法。 总的来说,《N+》以其独特且富有挑战性的玩法,吸引了众多寻求刺激和智力挑战的玩家。这款游戏不仅提供了娱乐...

    C语言常见问题及规避和解决办法

    ### C语言常见问题及规避和解决办法 #### 1. 声明和初始化 **1.1 如何决定使用哪种整数类型?** 在C语言中,选择正确的整数类型非常重要,因为不同的类型有不同的存储空间和范围。例如,`short int`、`int` 和 `...

    数据库性能监控之问题发现及解决办法.ppt

    3. 重复故障预防:监控有助于识别重复出现的问题,从而制定长期解决方案。 4. 扩展性评估:随着业务增长,监控可以帮助识别扩展需求,避免性能瓶颈。 5. 安全性检查:监控也包括对数据库安全性方面的关注,防止未经...

    我要抢的数字-用程序解决问题.rar_assyk_用scratch做的抢数字游戏的解决方法

    在压缩包内的两个文件“抢n数字游戏 例如30.sb2-251.exe”和“抢n数字游戏 例如30.sb2”中,`.sb2`是Scratch项目的文件扩展名,表示这是两个不同的Scratch源代码文件。其中,“-251.exe”可能是一个附加的可执行文件...

    c语言错误的中英对照 vc6.0环境下

    - **解决办法**:仔细检查并修正代码中的所有错误,通常从第一个错误开始逐个解决。 2. **文件未结束(fatal error C1004)** - **描述**:此错误通常意味着源代码中某个块(如函数、结构体定义等)没有正确闭合...

    黄冈中学高一数学教案

     凡遇等差数列前n项和最值的问题,寻找临界项是解决问题的关键,寻找临界项的办法是解关于自然数的不等式组.  (1)a1>0,d寻找临界项的办法是  (2)a1,d>0寻找临界项的办法是 . 例5、在等差数列{an}中,a1=-...

    linux编译kernel和svn版本冲突的解决办法

    SVN_REV:=$(shell ((svnversion | grep -qv exported && echo -n 'Revision: ' && svnversion) || git svn info | sed -e 's/$$$$/M/' | grep '^Revision: ' || echo ${MALI_RELEASE_NAME}) 2>/dev/null | sed -e '...

    最大公约数三种办法-计数器-流程图.pdf

    - 如果余数不为零,重复上述步骤,用n替换m,r替换n,继续除法运算。 2. 欧几里得算法: 欧几里得算法是最古老的求GCD的方法,也是最基础的算法之一。它基于以下事实:两个数的最大公约数等于其中较小的数和两数...

    C语言 数组中重复的数字分析及方法

    数组中重复的数字分析及方法主要是解决在一个长度为n的数组里的所有数字都在0-n-1的范围内,数组中某些数字是重复的,但是不知道有几个数字重复了,也不知道每个数字重复了几次的问题。 在解决这个问题时,我们可以...

    Python list列表中删除多个重复元素操作示例

    **解决办法**:不建议使用简单的 `remove()` 方法来删除所有重复元素。 ##### 2.2 使用 `for` 循环尝试删除所有重复元素 ```python l = [9, 6, 5, 6, 6, 7, 8, 9, 6, 0] for x in l: if x == 6: l.remove(x) ...

    电脑键盘快捷键大全-解决网页不能复制的办法.pdf

    由于文档的格式问题,内容出现了重复和错乱,但即便如此,我们还是可以从中提取出有用的快捷键信息。以下是对这些键盘快捷键的详细解读和它们的用途: 1. Windows+BREAK:打开系统属性窗口。 2. Windows+D:显示...

    猴子选大王设计并编写程序

    猴子选大王是一个典型的编程问题,一般可用链表(可以用很大的数)或者while循环(使用此办法不能用太大的数)解决。为:n只猴子围坐成一个圈,按顺时针方向从1到n编号。然后从1号猴子开始沿顺时针方向从1开始报数,...

    摄影发展史-(精)宣贯.ppt

    这个原理随后被阿拉伯人重复实验,但他们对影像的持久保存并无解决办法。直至19世纪,随着照相机、感光材料和化学处理技术的发展,人们才能将清晰的图像永久保存。\n\n1825年,尼埃普斯(N.J. Niepce)使用阳光摄影...

    数据结构版学生管理系统课程设计报告书

    通过学习和实践,逐步理解了如何将理论知识转化为实际代码,遇到问题时积极寻找解决办法,提升了编程技能和问题解决能力。 总结:这份报告书详细介绍了如何利用数据结构中的线性表概念来实现一个学生信息管理系统,...

Global site tag (gtag.js) - Google Analytics