社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  DATABASE

MySQL:如何计算结果在select中的位置?[副本]

Daniel • 5 年前 • 1338 次点击  

这个问题已经有了答案:

我需要计算结果在选择类排名中的位置。

我有这个:

"SELECT PLAYERID, SUM(POINTS) AS POINTS FROM TABLE1 GROUP BY PLAYERID ORDER BY POINTS"

我明白了:

PLAYERID   POINTS
4          200
2          150
1          100
3           80

我需要知道playerid=1的排名。

我不是MySQL的专家,但可以这样计算结果:

RK   PLAYERID   POINTS
1     4         200
2     2         150
3     1         100
4     3          80

例如:“选择计数…”

太多了! 丹尼尔

编辑:不重复,因为我不想创建排名。我要计算结果的位置。这里提出的答案完全符合。

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/39372
 
1338 次点击  
文章 [ 1 ]  |  最新文章 5 年前
scaisEdge
Reply   •   1 楼
scaisEdge    5 年前

您可以尝试在playerid=1的点上计算点为>=的行数。

select count(*)  from (
  SELECT PLAYERID
      , SUM(POINTS) AS POINTS 
  FROM TABLE1 
  GROUP BY PLAYERID 
) T 
WHERE T.POINT >= (
  SELECT SUM(POINTS) 
  FROM TABLE1 
  WHERE PLAYERID = 1
)