以下是我所拥有的
userid score
1 8
2 5
3 4
4 4
5 10
6 3
我想要的是如下
userid score position
5 10 1
1 8 2
2 5 3
3 4 4
4 4 4
6 3 5
注意:
我在输出下面创建的代码,
userid score position
5 10 1
1 8 2
2 5 3
3 4 4
4 4 4
6 3 6
代码是
SELECT userid, score,
(SELECT COUNT(*) FROM fschema.mytab3 u2
WHERE
u2.score > u1.score) + 1 AS position FROM fschema.mytab3 u1
ORDER BY position
我希望用户6具有position
as 5
而不是6
那这个呢?
SELECT userid, score,
(SELECT COUNT(distinct u2.score) FROM fschema.mytab3 u2
WHERE
u2.score > u1.score) + 1 AS position FROM fschema.mytab3 u1
ORDER BY position
问题内容: 我完全为在mysql中从rank()over(按x分区,按y desc排序)创建新列“ LoginRank”而感到困惑。 从SQL Server,我将编写以下查询,以创建按“登录”分组并按“ id”排序的“ Loginrank”列。 我有下表。 我尝试将许多现有的mysql修复程序应用到我的数据集,但仍然存在问题。 任何帮助是极大的赞赏。谢谢! 问题答案: 请尝试以下查询:-MySql
我需要从表中选择所有的vip并按兰德排序,然后添加按日期排序的其他数据。在第一个子查询中,一切正常,但在第二个子查询中,spa_date DESC不起作用。我知道UNION子查询中的ORDER BY子句会被忽略而没有限制(但ORDER BY rand()起作用),但我需要所有查询(1+2)中的限制,而不是子查询中的限制 问题: 我需要选择spa_vip=1的所有spa_id并按RAND()排序,然
问题内容: 每个表(表1和表2)都有其自己的DATETIME字段。 我正在尝试捕获两个表的ID,并按其DATETIME字段对其进行排序。 例子: 我的输出未通过以下查询正确排序: 所需数据: 来自表2 id:2、1, 来自表1 id:3、2、1 因此:2、1、3、2、1 ////编辑 对于可能会遇到冗长而复杂的MySQL请求的人们,请在PhpmyAdmin中尝试一下!它会告诉您错误! ////编辑
问题内容: 我需要找出客户的等级。在这里,我为我的需求添加了相应的ANSI标准SQL查询。请帮助我将其转换为MySQL。 有什么功能可以找出MySQL的排名吗? 问题答案: 一种选择是使用排名变量,例如: 该部分允许变量初始化,而无需单独的命令。 测试用例: 结果:
问题内容: 所以我有一张桌子,如下所示: 然后,我需要对它们进行分组,排序和排序以给出: 现在,我知道您可以使用temp变量进行排名,例如此处,但是如何对分组集进行排名呢?感谢您的见解! 问题答案: 这以非常简单的方式起作用: 初始查询按第一,第二顺序排序。 并初始化为 用于测试是否输入下一组。如果的先前值(存储在中)不等于当前值(存储在中),则将其清零。否则增加。 分配了新值,并将在下一行的第3
问题内容: 我需要创建一个自动在结果中添加虚拟行号的视图。这里的图完全是随机的,我要实现的是动态创建的最后一列。 查询: 问题答案: 采用: 这不是理想的方式,因为将对返回的每一行执行num值查询。更好的主意是创建一个表,其中的一列包含一个从一个开始的数字,然后递增到一个非常大的数字,然后以类似于下面的变量示例的方式联接和引用该表。 MySQL排名,或缺乏 您可以定义一个变量以获得伪行号功能,因为