0
비 기본 키순으로 정렬 된 데이터 테이블이 있습니다.mysql 하위 선택에서 다음 행 선택
id | likes
4 | 6
2 | 5
5 | 2
3 | 2
1 | 2
id # 3 이후의 행을 찾으려면 검색어가 필요합니다.
내가 행 번호를 사용하여 시도하고이를 작성하지만, 더 나은, 더 효율적인 방법이이 할 경우는
select * from (
SELECT l.id,
l.likes,
@curRow := @curRow + 1 AS row_number
FROM sk_posters l
JOIN (SELECT @curRow := 0) r
WHERE active = 'yes'
order by likes desc, id desc)
as mycount where row_number =
(select row_number from (
SELECT l.id,
l.likes,
@curRow := @curRow + 1 AS row_number
FROM sk_posters l
JOIN (SELECT @curRow := 0) r
WHERE active = 'yes'
order by likes desc, id desc)
as mycount
where id=5)+1 limit 1
정말 비효율적 인 것 같습니다거야?
테이블 및 쿼리가 일치하지 않는 것처럼 쿼리의 끝 부분에 제한을 사용할 수 있습니다. http://www.sqlfiddle.com/에서 샘플 데이터를 제공 할 수 있습니까? –