안녕하세요,
현재 해당유저의 가장 최근 데이터 1개를 꺼내와야되는 상황입니다
원래는 이런 쿼리를 사용하고있습니다.
SELECT user_id, today_total_data ,total_data, time_stamp FROM user_data WHERE user_id = ? AND time_stamp >= date_add(now(), interval -1 hour) ORDER BY time_stamp DESC LIMIT 1
최근 1시간내 데이터중에 가장최근값 1개를 꺼내오는 방식입니다
하지만 최근 1시간내 데이터가 없는경우 에러가 발생하는 문제가 있었습니다 ( 1~2일동안 없는경우도 있습니다 )
그래서 아래와 같은 쿼리로 변경했습니다
SELECT user_id , time_stamp, today_total_data, total_data FROM user_data WHERE user_id = ? AND time_stamp = ( SELECT MAX(time_stamp) FROM user_data WHERE user_id = ? )
혹시더 좋은방법이 있다면 조언 부탁드립니다