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 )

이게되는건지 ㅡㅡ;; ㅋㅋㅋ 그냥 비몽 사몽 밤새서 ㅠㅠ 더이상 디버깅 하기 너무 힘들어
좀 자고 일나서 하려는데 아 눈 감겨 그냥 물어 봐요 ㅋ
|

댓글 1개

delete from sms where id='a' and send='b' and date != (select count(30) from sms order by date desc)
이렇게 하면 되지 않을까요?
테스트 해보지는 않았습니다.
댓글을 작성하시려면 로그인이 필요합니다. 로그인

그누4 질문답변

그누보드4 관련 질문은 QA 로 이전됩니다. QA 그누보드4 바로가기 기존 게시물은 열람만 가능합니다.

+
제목 글쓴이 날짜 조회
14년 전 조회 1,084
14년 전 조회 1,733
14년 전 조회 1,597
14년 전 조회 1,889
14년 전 조회 912
14년 전 조회 963
14년 전 조회 779
14년 전 조회 1,572
14년 전 조회 1,568
14년 전 조회 870
14년 전 조회 960
14년 전 조회 996
14년 전 조회 1,369
14년 전 조회 1,059
14년 전 조회 1,532
14년 전 조회 1,532
14년 전 조회 1,518
14년 전 조회 3,554
14년 전 조회 1,660
14년 전 조회 942
🐛 버그신고