둘러 보았고 사이트에서 찾을 수있는 유일한 질문/답변은 MySQL의 ID로 정렬하는 것과 관련이 있습니다. 다음과 같은 질문 : stackoverflow.com/questions/645102 및 stackoverflow.com/questions/169233MySQL에서 ID별로 정렬되지 않은 결과에서 이전 및 다음 레코드를 찾는 가장 빠른 방법은 무엇입니까?
ID가 아닌 다른 열로 정렬 할 때 이전 및 다음 행을 찾으려고합니다. 예를 들어 결과 중 하나에
이제SELECT id, first_name, last_name
FROM user
WHERE last_name LIKE 'm%'
AND active_flag = 1
ORDER BY last_name, first_name
사용자가 클릭을하고 그 사용자에 대한 상세 페이지로 보내집니다 :
은 내가 먼저 사용자의 목록을 얻으려면이 쿼리를 실행합니다. 해당 페이지에서 이전 및 다음 링크를 표시하려고합니다.
내가 가진 동일한 생각은 동일한 쿼리를 수행하는 것이었지만, 3 행, 1 이전, 현재 1 및 1 후에 제한했지만 그 결과 목록에서 현재 사용자가 현재 위치를 알지 못한다는 사실을 깨달았습니다. 입니다.
다른 모든 아이디어는 전체 결과 집합을 선택하고 배열의 키를 가져온 다음 이전 및 다음 배열을 찾습니다.
저는 MySQL과 PHP를 사용하고 있습니다.