sql 질문 드립니다. 좀 알려주세요. 정보
sql 질문 드립니다. 좀 알려주세요.
본문
sms 테이블에 다음 같이 필드가 있다고 가정하구요.
id | send | memo | date
id 값 a와 send 값 b를 모두 만족하는 데이터중
date 순으로 제일 최신꺼 30개만 남기고 모두 지우는 쿼리문이 어떻게 될까요.
한 문장으로 처리 했으면 하는데 도무지 머리가 안돌아 가네요.
알려 주시면 감사 하겠습니다.
delete from sms where id='a' and send='b' and date < (select min(send_datetime) as m_date from sms where id='a' and send='b' group by send limit 0, 30 )
이게되는건지 ㅡㅡ;; ㅋㅋㅋ 그냥 비몽 사몽 밤새서 ㅠㅠ 더이상 디버깅 하기 너무 힘들어
좀 자고 일나서 하려는데 아 눈 감겨 그냥 물어 봐요 ㅋ
id | send | memo | date
id 값 a와 send 값 b를 모두 만족하는 데이터중
date 순으로 제일 최신꺼 30개만 남기고 모두 지우는 쿼리문이 어떻게 될까요.
한 문장으로 처리 했으면 하는데 도무지 머리가 안돌아 가네요.
알려 주시면 감사 하겠습니다.
delete from sms where id='a' and send='b' and date < (select min(send_datetime) as m_date from sms where id='a' and send='b' group by send limit 0, 30 )
이게되는건지 ㅡㅡ;; ㅋㅋㅋ 그냥 비몽 사몽 밤새서 ㅠㅠ 더이상 디버깅 하기 너무 힘들어
좀 자고 일나서 하려는데 아 눈 감겨 그냥 물어 봐요 ㅋ
댓글 전체
delete from sms where id='a' and send='b' and date != (select count(30) from sms order by date desc)
이렇게 하면 되지 않을까요?
테스트 해보지는 않았습니다.
이렇게 하면 되지 않을까요?
테스트 해보지는 않았습니다.