[가상데이터 생성]
안녕하세요.
워크벤치로 하다보니 동일한 쿼리문에 에러가 나는 경우가 더러 있네요. 구글링으로 보완해가면서 테스트 중입니다.
카페 사용관련 가상데이터 설명 (21:06분) 내용 중에 '1일2회 이상 등록된 전화번호 및 결제일자를 삭제 하는 쿼리문 실행시,
"
" 요런 메시지가 나와서, 구글링을 해보니, 삭제시 자기 테이블을 조회할 수 없기 때문이라고 나와서 수정을 했는데요.

요렇게 하면 제대로 수행이 되는 것 같습니다.
근데 궁금한 건... 강의내용의 쿼리문은
고객의 해당일자 전체를 삭제하는 것 같은데요.
하루 최초 또는 마지막 건수를 남기고 나머지를 삭제하는 쿼리문을 좀 알 수 있을까요?
답변 1
0
안녕하세요 류재안 님.
우선 제가 사용하는 MariaDB서버 버전을 알려드리면 10.6 및 11.x 입니다. 혹시 버전 문제 소지가 있을 수 있어 말씀드립니다.
요청하신 쿼리는 다음과 같습니다.
DELETE FROM sc_payment
WHERE (usr_phnumber, DATE_FORMAT(pay_dt,'%Y-%m-%d %H'))
IN (
SELECT usr_phnumber, pay_dt FROM (
SELECT usr_phnumber,DATE_FORMAT(pay_dt,'%Y-%m-%d %H') AS pay_dt
,ROW_NUMBER() OVER
(PARTITION BY usr_phnumber
ORDER BY usr_phnumber,DATE_FORMAT(pay_dt,'%Y-%m-%d %H') DESC) AS row_number_
FROM sc_payment
) a
WHERE a.row_number_ != 1
);
위의 쿼리는 년-월-일-시까지만 보았을 때 하루동안 중복된 건들을 처리합니다. 초 단위까지 하시려면 DATE_FORMAT의 시간형식 포맷을 초 단위까지 적절히 기재해 주시면 됩니다.
수행 내용은 동일한 전화번호에 대해 하루 동안 마지막 건수만 남기고 나머지를 삭제하는 쿼리입니다.
유사한 내용이 채널에 있어 URL을 남깁니다.
https://www.youtube.com/watch?v=tqClIDsoa3U&t=50s
강의 DB데이터 질문
0
38
1
극단적으로 from-to가 12일 이고, valid_to가 13일이면?
0
36
1
11강 [실습] Docker로 MySQL1 분만에 실행하기
0
57
2
11강 [실습] Docker로 MySQL1 분만에 실행하기
0
49
2
선생님 샤딩에 대한 강의도 좀 해주세요
0
43
1
몽고DB CAP 이론 관련
0
51
2
아니 이거 갑자기 데이터베이스가 사라졌어요
0
50
1
기타 영역 중 언두로그
0
62
1
코드 깃허브는 없을까요?
1
50
2
최종 과제 제출합니다.
0
70
2
실전튜닝 4 질문 - group by 순서와 index 순서
0
57
1
@Modifying에 관하여
1
54
1
3-13 과제
0
73
3
가중이동평균매출 lag함수 활용
0
67
2
battle 테이블 오류
0
69
2
DB 쿼리 최적화 시 DB 처리와 애플리케이션 처리의 기준이 궁금합니다
0
56
1
실무에서의 인덱스 관리 방법이 궁금합니다
0
67
1
[스토리 그 자체, 실적 테이블](9:51)max_recursive_iterations
1
668
2
urlcodemap 쿼리 파일 확인요청
1
363
2
[공유][대사와 액션, 회차정보테이블]contents2 생성관련
1
485
2
[주인공과 등장인물의 집합채, 웹소설정보테이블]작가명 생성관련
1
361
1
[주인공과 등장인물의 집합체,웹소설정보테이블]wn_novel테이블 생성
1
303
1
[ERD로 보는 스토리와 테이블이라는 등장인물]태그정보 테이블 설계관련
1
315
1
[공유][워크밴치사용관련]한글깨짐
1
688
1





