이전 행에서 값을 검색하는 방법을 찾으려고합니다. 내가하고 싶은 일은 먼저 날짜 1 (가장 먼저 시작)에 의해 행을 정렬하는 것입니다. 그런 다음 Date 2가 해당 열의 이전 날짜보다 늦은 경우 그 행 (첫 번째 초기 행 포함)을 꺼내려고합니다. 내 서버가 LAG 기능을 지원하지 않습니다. CTE를 사용하여 제안을 시도했지만 서버가 그 중 하나를 인식하지 못하는 것 같습니다.MySQL의 이전 행 값
내가 원하는 것은 날짜순으로 정렬 한 후, 행 2에 대해 Date_2> 행 1에 대해 Date_2를, 그리고 그 행을 반환하는지 확인하는 것입니다.
다음은 표의 예입니다. ID Date_1 Date_2 Previous_max 4 1999-07-01 2010-12-01 NULL 3 2000-06-01 2011-01-01 2010-12-01 2 2001-08-01 2013-06-01 2011-01-01
ID 1과 5가 반환되지 않습니다 : 당신이 볼 수 있듯이, ID 1. 내 예에 따라서 ID Date 1 Date 2 1 2000-01-01 2010-01-01 2 2001-08-01 2013-06-01 3 2000-06-01 2011-01-01 4 1999-07-01 2010-12-01 5 2002-02-01 2012-12-01
, 나는이 3 개 레코드를 반환 할 날짜와 같은 순서로하지 않습니다 날짜 1은 나중에 있고 날짜 2는 다른 행보다 빠르기 (각각 4 및 2) 때문입니다.
SQL 서버와 오라클의 지원이 쉽고 잘 수행을하게 LAG 키워드. MySql에 필요한 해킹은 그다지 중요하지 않습니다. –