만약 한 테이블에 데이터가 시간 순서대로 계속 쌓이고 있다고 가정한다. 그러면 거기서 최상위 데이터는 order by time desc limit 1 하면 가져올 수 있다.
다만 만약에 '최신 시간 그 아래, 특정 n 번째 데이터'를 받아오고 싶다~ 하면 어떻게 할까. 필자가 진행하면서 터득한 몇 가지 방법을 제시해 본다.
참고로 현재 데이터의 time 은 yyyymmddhhmiss 이렇게 string으로 쌓이고 있다. 서브 쿼리 사용법 이 방법으로 두 번째 row의 time을 가져오기에는 편하다.
SELECT time FROM schema.table_name WHERE time<(SELECT time FROM schema.table_name ORDER BY time DESC LIMIT 1) ORDER BY time DESC LIMIT 1; 하지만 3번째, 4번째.. 늘어남에 따라 서브 쿼리 서브 쿼리를 계속 넣어야 하는 대참사가 발생하기에 추천하지는 않는다.
서브 쿼리, 근데 ma...
원문 링크 : [MySQL] 특정 row의 데이터를 받아오는 방법