【发布时间】:2020-03-01 10:54:12
【问题描述】:
我有一个数据列表,我需要根据他们的分数显示他们的排名,获得前 1-3 或前 10 很容易,但是我可以根据他们在行中的位置来获得他们的排名吗?例如,如果您在行的中间,我会尝试获取前两个和后两个。
用户表
ID| User_id|Score|
1 1142 12
2 53 55
3 12 44
4 66 33
5 77 22
6 123 11
7 321 11
8 456 88
9 654 66
10 896 44
11 536 24
12 990 11
例如user_id: 123 将登录,我应该能够检索数据
ID| User_id|Score|
4 66 33
5 77 22
6 123 11
7 321 11
8 456 88
我试图在我的视图中显示这个,
像这样。所以这将是视图中的输出。
RANK 21: 1142
RANK 22: 77
RANK 23: 123
RANK 24: N/A
RANK 25: N/A
如果没有低于或高于他应该是 N/A 想法是登录的用户应该总是在中间。
我怎样才能得到前两个和后两个?这在 MYSQL 中可能吗?如果没有低于或高于他我该怎么办。任何帮助将不胜感激。
【问题讨论】:
-
'如果没有低于或高于他我该怎么办' - 你将不得不告诉我们应该发生什么。期望的输出与排名有什么关系?
-
嗨先生,我编辑了我的问题,对不起。
-
考虑在你的 php 循环中处理排名
标签: php mysql codeigniter