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,143
14년 전 조회 1,784
14년 전 조회 1,658
14년 전 조회 1,945
14년 전 조회 974
14년 전 조회 1,019
14년 전 조회 848
14년 전 조회 1,636
14년 전 조회 1,633
14년 전 조회 928
14년 전 조회 1,020
14년 전 조회 1,050
14년 전 조회 1,433
14년 전 조회 1,121
14년 전 조회 1,590
14년 전 조회 1,588
14년 전 조회 1,582
14년 전 조회 3,618
14년 전 조회 1,724
14년 전 조회 1,005