我有一个表用户
Name | Poin
==================
user1 | 20
user2 | 30
user3 | 80
user4 | 60
user5 | 10
user6 | 85
我有SQL查询
SELECT *
FROM user
ORDER BY poin
看起来数据序列是基于点的。
但我需要的是这样的数据(例如,我是user1):
Position 1 : user6 - 85 point
Position 2 : user3 - 80 point
Position 3 : user4 - 60 point
您是位置5:user1-20point
我使用此sql
选择x.name,x.position
从(选择t.user,
@rownum:=@rownum+1作为位置
从用户t
加入(SELECT@rownum:=0)r
按t.poin DESC排序)x
其中x.user='user1'
这将给出user1
的当前等级:
SELECT count(*) AS rank
FROM user
WHERE poin >= (SELECT poin FROM user WHERE name = 'user1')
这个查询的一个小问题是,如果另一个用户有相同的积分,它将被分配相同的等级--它是否正确,这是有疑问的。
如果您想简单地为每个用户添加等级,请使用以下命令:
SELECT
@rank:=@rank+1 AS rank,
name,
poin
FROM user,
(SELECT @rank:=0) r
ORDER BY poin DESC
您可以使用此查询的小变化来获取单个用户的排名,但避免相同排名不明确的问题:
SELECT *
FROM (
SELECT
@rank:=@rank+1 AS rank,
name,
poin
FROM user,
(SELECT @rank:=0) r
ORDER BY poin DESC
) x
WHERE name = 'user1'
问题内容: Go对于此SQL查询中的第二个参数想要什么。我正在尝试在postgres中使用查找。 我真正想要的是: 问题答案: 查询只是使用varargs来替换sql中的参数,因此,在您的示例中,您只需要执行 例如,这个和第二个示例的内容是动态的,那么您将 如果“ IN”部分具有可变的args,则可以执行(播放)
问题内容: 我正在将MySQL Workbench CE用于Windows 5.2.40版。 我想一起执行以下SQL查询。不过我只能先执行执行的SQL查询查询,然后执行查询,之后执行查询。 那么,如何执行,并通过点击查询? 问题答案: 在每个语句后添加分号:
问题内容: 假设我的数据库表中有一个名为“ code”的列,其中包含字符串数据类型。 我想要一个查询,该查询将返回所有带有’code’值的行,该值是给定搜索字符串的子字符串,并且附加条件是该子字符串出现在搜索字符串的末尾。 例如,如果搜索字符串为“ 12345”,则查询应返回“代码”值为 12345 2345 345 45 5的所有行。 问题答案: 只需使用like运算符即可:
现在,这个问题不是关于MySQL查询、结果行或与数据库本身相关的任何内容,而是关于MySQL Workbench程序。 我在程序中打开了数十个表格(包括更改表格和编辑行/列),并且一次只能在UI中看到大约10个标签,因为它们只有一行。使用左右箭头显示更多标签非常缓慢和烦人。 那么,有没有什么方法可以显示多行标签或者以某种方式增加它们的空间?偏好与它无关,除了字体和搜索网络只会返回毫无意义的东西。
我使用MySQL工作台CE为Windows版本5.2.40。 我想一起执行以下SQL查询。但是,我只能通过首先执行查询,然后执行查询,然后执行查询来执行SQL查询。 那么,我如何通过单击来执行< code >创建表 、< code >插入和< code >选择查询呢?
问题内容: 我知道这类问题已经在这里多次发布,例如:Java方式 我在标准树模式的数据量庞大(150K +)( , ,) 问题: 如何获取给定node_id的叶子? 表结构: 数据库: 问题答案: 无法在单个查询中执行此操作。即使有,它也可能效率很低。 我们可以通过存储过程和循环来实现。使用添加的索引,它也应该很快。这使用两个表从输入表(A)中选择节点,并将该节点及其子级插入(B)。然后,它将B交