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

요렇게 하면 제대로 수행이 되는 것 같습니다.
근데 궁금한 건... 강의내용의 쿼리문은
고객의 해당일자 전체를 삭제하는 것 같은데요.
하루 최초 또는 마지막 건수를 남기고 나머지를 삭제하는 쿼리문을 좀 알 수 있을까요?
Answer 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
76강 2분33초 내용 오류
0
12
0
3-13 리텐션 과제 제출합니다
0
17
2
인덱스 강의 혹은 해당 강의 전 듣어야 하는 사전강의 문의
0
16
2
3-13. 리텐션 연습과제 제출합니다.
0
20
1
ordered_at, paid_at 과 같이
0
23
1
기본편 오타 제보 드립니다.
0
31
1
노션링크가 접근되지 않습니다.
0
32
1
Boolean 컬럼 인덱스와 Cardinality에 따른 실행 계획에 대하여
1
52
1
18번 문제 질문
0
38
1
최종 과제 제출
0
49
3
Weekly Retention 과제 작성하였습니다.
0
51
2
[실습] WHERE문이 사용된 SQL문 튜닝하기 - 2
0
51
2
JWT토큰 발급 시, subject 값을 다양하게 넣어서 여러 개의 토큰을 만드는 이유
0
44
2
[실습] 인덱스 직접 설정해보기/성능 측정해보기
0
53
2
관계도출부분 질문입니다.
0
36
1
docker 마지막 실습(app(flask) + mysql) 연동 과정
1
55
2
sql 디벨롭퍼는 어디서 다운받나요??
0
50
2
[스토리 그 자체, 실적 테이블](9:51)max_recursive_iterations
1
607
2
urlcodemap 쿼리 파일 확인요청
1
339
2
[공유][대사와 액션, 회차정보테이블]contents2 생성관련
1
444
2
[주인공과 등장인물의 집합채, 웹소설정보테이블]작가명 생성관련
1
343
1
[주인공과 등장인물의 집합체,웹소설정보테이블]wn_novel테이블 생성
1
277
1
[ERD로 보는 스토리와 테이블이라는 등장인물]태그정보 테이블 설계관련
1
302
1
[공유][워크밴치사용관련]한글깨짐
1
666
1

