2012-10-30 5 views
0

나는 here을 찾고 있었지만 내 질문에 대한 답을 찾을 수 없습니다.MySQL의 행 위치

필요는 예를 들어, MySQL의에서 객체의 목록을 얻을 수 있습니다 :

+-----------------------------+ 
+ id | username | password + 
+-----------------------------+ 
+ 1 | User1     + 
+ 2 | User2     + 
+ 5 | User3     + 
+ 9 | User4     + 
+ 11 | User5     + 
+ 18 | User6     + 
+ .....      + 
+ 25 | User10     + 
+-----------------------------+ 

및 오 각 항목이 아닌 ID를 위치를 계산하지만 항목이 순간에있다 위치,이 모든 매김과 함께 예를 들어

Page 1 
1, User1, id1 
2, User2, id2 
3, User3, id5 

Page 2 
4, User4, id9 
5, User5, id11 
6, User6, id18 

Page 3 
... 

나는 그가 페이지의 모든 변경에 페이지 목록의 각 항목의 위치를 ​​계산해야하지만, MySQL의에서이 작업을 수행하는 방법을 알고하지 않는 것으로 알고 있습니다.

누군가가 조언을 도와 주시면 대단히 감사하겠습니다. 감사합니다

답변

2

당신은 당신이 행 위치를 얻을 수 선택 쿼리 동안 SELECT 요청 변수를 사용하여

SET @i=0; 
SELECT id, username, password, @i:[email protected]+1 AS i FROM my_table ORDER BY id; 
+0

결과가 없습니다. 결과는 다음과 같습니다. 쿼리 실행 중 오류가 발생했습니다. – Denees

+0

내 코드를 편집하고 SET @ i = 0; 대신에 SELECT @i : = 0; (하지만 둘 다 작동해야합니다. 내 서버에 생방송으로 시도했습니다. 쿼리를 붙여 넣을 수 있습니까?) –

+0

동일한 출력 :) SET @ i = 0; SELECT id, member_name, @i : = i i + 1 AS i 회원들로부터 주문 ID로; – Denees

-1

에서 변수를 정의하여이 작업을 수행 할 수 있습니다. 이것은 내 DB에서 작동합니다. 이것을 사용할 수 있습니다.

set @i = 0; 
SELECT id, firstname, lastname, title, @i := @i +1 as i FROM employee ORDER BY id