[MySQL] 특정 ID별 최신 시간 데이터 추출

DB에 사용자 ID 별로 시간 단위로 기록을 하고 있습니다.
해당 항목에 대해서 목록을 뽑을때 사용한 쿼리 입니다.

SELECT * FROM
                      (
                             SELECT uid, id, balance, datetime
                             FROM table
                             ORDER BY datetime DESC

                      ) AS subQuery
GROUP BY DATE_FORMAT(datetime,'%Y-%m-%d'), id
ORDER BY id DESC, datetime DESC

5 comments

  1. 안녕하세요. 쿼리만봤을떄는 최신데이터만 가져오는건 아닌것같은데 최신데이터만 가져오려면 어떤식으로 해야할까요

    1. 서브쿼리에서 필요하신 부분 처리하시면 될것 같습니다.

      저도 오래전일이라서 지금은 사용하지 않는 부분이 있어서 정확하지는 않습니다.

    2. 위에 코드에서 “SELECT * FROM ()을 한번 더 감싼다음
      GROUP BY 체크내용”을 하면 하나만 더 뽑아낼 수 있어요

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다