Mysql 如何根据分数获取特定行数

Mysql 如何根据分数获取特定行数,mysql,Mysql,必须显示具体的计数。意味着我必须显示最大分数值4倍,然后小于该分数3倍,以此类推 我的桌子像:- ID Score 1 1 2 1 3 1 4 1 5 2 6 2 7 2 8 3 9 3 10

必须显示具体的计数。意味着我必须显示最大分数值4倍,然后小于该分数3倍,以此类推

我的桌子像:-

ID              Score

 1               1
 2               1
 3               1
 4               1
 5               2
 6               2
 7               2
 8               3
 9               3
10               4
11               4
12               4
我希望输出如下:-

   Score
    1
    1
    1
    2
    2
    3
    4
试试这个:

SELECT Score
FROM
(SELECT a.Score, a.ID, count(*) as RN FROM TableName a
JOIN TableName b ON a.Score = b.Score AND a.ID >= b.ID
GROUP BY a.Score, a.ID) T
WHERE RN>1
结果:

SCORE
1
1
1
2
2
3
4
4
一个例子

说明:

在内部查询中,我们选择一个按ID和按分数排序的行号。然后我们从行号大于1的内部查询中选择Score(为了省略1条记录)。

选择x.* 从我的表x 加入我的桌子 关于y.marks=x.marks 和y.id