我的数据库里有很多用户
User -- Points
user1 4
user2 6
user3 2
user4 3
user5 8
user6 9
user7 1
user8 5
我正在寻找最简单的方法和更少的错误,以创建一个特定的用户排名5。我选择的用户应该在中间,上面有2个,下面有2个。你知道吗
示例1:user8 我应该收到:
user5 8
user2 6
**user8 5**
user1 4
user4 3
示例2:user4我应该收到:
user8 5
user1 4
**user4 3**
user3 2
user7 1
我也有例外。如果用户是TOP1,我需要显示下一个4 示例:用户6
**user6 9**
user5 8
user2 6
user8 5
user1 4
(如果用户是最后一个,则会发生相同的情况,因此在这种情况下,我需要接下来的4个用户。你知道吗
有人知道一个简单的方法吗?你知道吗
编辑:我没有要求任何人为我做这件事。我在寻求暗示。 我不明白那些反对票。只是个问题。你知道吗
我在sql server上实现了这一点,但在postgresql上实现了同样的功能。我现在包括了这两种功能。你知道吗row_number()
'user3'
Postgres Demo
SQL Fiddle Demo
输出
在用
user8
将DESC
加到最后ORDER BY
之后这里
t5
是您的表,u
是包含用户的列,r
是包含点的列。。。我尝试了用户值'u4'-尝试你的。。。你知道吗相关问题 更多 >
编程相关推荐