2011-08-08 4 views
0

mysql 쿼리가 있습니다.mysql 결과 집합의 레코드 오프셋을 가져 오는 방법이 있습니까?

가정합니다 FIELD2

FIELD2하여 MYTABLE 순서에서 선택 primary_field, FIELD2는 고유하지 않습니다.

결과에 값 (536, any_value)이있는 경우 결과가 나타납니다.

오프셋 (결과에서 레코드의 위치)을 가져 오려고합니다.

사실 현재 레코드의 다음 및 이전 레코드를 가져와야합니다.

나는 모든 레코드를 가져 오지 않고 php에서 다음 레코드와 이전 레코드를 가져 오려고합니다.

나는 그것을 mysql 쿼리에서 끝내고 싶다. mysql 쿼리에서 가능합니까?

답변

2

음, 그렇습니다. 결과가있는 경우 고유하지 않은 경우 특정 행을 검색 할 수 없습니다. 그러나, 당신은 단순히 행 번호 얻으려면 :

select @rownum:[email protected]+1 ‘rank’, t.* 
    from my_table t, (SELECT @rownum:=0) r order by field2; 

아, 그리고 credit where credit is due을.

관련 문제