• 날짜칼럼을 기준으로 최신값만 조회 (마지막 날짜 데이터들을 가져오는 쿼리)

select
	*
from(
	select
		*
	from concent_data
	where (con_id, date) in (
		select con_id, max(date) as date
		from concent_data group by con_id
	)
	order by date desc
) t
group by t.con_id

 

먼저 뽑아낼 테이블을 max함수를 통해 마지막 날짜 조회 후 group by를 하고 해당하는 데이터를 조건문에 처리(where 조건문 in절부분)하여 최신 데이터 순으로 order by를 통해 다시 한번 정렬을 한다.

사실 여기까지만 처리해도 정상적으로 볼 수 있지만, 중복된 시:분:초로 들어온 경우 마지막 한개의 데이터가 보장이 되질 않아 마지막에 group by를 한번 더 처리하였다.

(출처 : https://myhappyman.tistory.com/76)

'개발일지 > MySQL' 카테고리의 다른 글

[MySQL] 이전 시간 데이터 조회  (0) 2020.03.27

+ Recent posts