나는 다음과 같은 행이 : 나는 SELECT * FROM table ORDER BY score DESC
을 수행 할 때행 집합의 행의 순위를 점점
id name score
1 Bill 0
2 Kim 8
3 Michael 30
4 Doug 22
5 Mellisa 1
것은, 나는
id name score
4 Doug 22
3 Michael 30
2 Kim 8
5 Mellisa 1
1 Bill 0
가 지금은 하나의 행을 취득 할 수, 그래서 ' where 절을 추가하되 문제점은 순위입니다.
내가 두 번째 순위 2가 할당되고, 의사가 행 집합의 첫 번째 행에 순위 1을 할당 즉, 내 PHP 코드에서 순위를 생산하고 있습니다 등등 ...
그래서 SELECT * FROM table WHERE id = 5
을 수행 할 때, 분명히 모든 등급 정보가 손실됩니다. 이 문제를 극복하는 방법? where 절을 추가하기 전에 행 집합에서 행의 위치를 얻을 수있는 방법이 있습니까?
'@rank = IFNULL (@rank, 0) + 1 '와 from 절에는 비밀스러운 선택이 없지만 +1이 필요합니다. http://www.sqlfiddle.com/#!2/7dc7b/3 – Bohemian
@ 보헤미안을 참조하십시오. 어쨌든 OP는 자신 만의 방식으로':)'' –
@Bohemian it 's clean':)' –