Mysql 如何根据分数获取特定行数
必须显示具体的计数。意味着我必须显示最大分数值4倍,然后小于该分数3倍,以此类推 我的桌子像:-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
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