인프런 커뮤니티 질문&답변
오타 제보
작성
·
30
·
수정됨
0
시력 이슈로 Deprecated안녕하세요. 영한님!
7장1, 2, 3page 오타 제보 합니다!
아래 쿼리를 실행해서 데이터를 생성하고,

-- # 7. 통계 테이블 설계
-- ## 통계 데이터와 성능 문제
-- ### 원본 데이터 준비
DROP TABLE IF EXISTS orders;
CREATE TABLE orders (
order_id BIGINT AUTO_INCREMENT PRIMARY KEY,
customer_id BIGINT NOT NULL,
total_amount INT NOT NULL,
order_status VARCHAR(20) NOT NULL,
order_date DATETIME NOT NULL
);
-- 데이터 입력 (예시를 위해 소량만 입력하지만, 실제로는 수백만 건이라고 가정한다)
INSERT INTO orders (customer_id, total_amount, order_status, order_date) VALUES
(1, 10000, 'COMPLETED', '2026-01-01 10:00:00'),
(2, 25000, 'COMPLETED', '2026-01-01 14:30:00'),
(3, 15000, 'COMPLETED', '2026-01-01 18:20:00'),
(4, 50000, 'COMPLETED', '2026-01-02 09:15:00'),
(5, 30000, 'COMPLETED', '2026-01-02 11:00:00'),
(6, 12000, 'CANCELLED', '2026-01-02 15:45:00'),
(7, 45000, 'COMPLETED', '2026-01-03 10:00:00');
아래 통계 쿼리를 실행하면,
-- ### 원본 테이블 직접 집계의 유혹
SELECT
DATE(order_date) as stat_date,
COUNT(*) as order_count,
SUM(total_amount) as total_sales
FROM orders
WHERE order_status = 'COMPLETED'
GROUP BY DATE(order_date)
ORDER BY stat_date;
아래와 같은 결과가 나온다고 적혀있는데요.

2026-01-02 데이터가 3개라서 실제로는 아래와 같은 결과가 나와야할것 같아요!

감사합니다.
답변 1
1
김영한
지식공유자
안녕하세요. 개발하는쿼카님 🙂
쿼리의 다음 조건 때문에 2026-01-02에 취소(CANCELLED)된 한 건은 제외됩니다 🙂
WHERE order_status = 'COMPLETED'
따라서 2건이 맞습니다.
감사합니다.





아하! 그렇군요! 시력 이슈가 있었네요 ㅠㅠ
꼼꼼하게 봐주셔서 감사합니다!