AI 모델 호출 사용량을 기록하는 ai_calls 테이블이 있어요. 사용자가 모델을 한 번 부를 때마다 한 행이 쌓이고, 각 행에는 호출한 사용자(user_id), 사용한 모델(model), 쓴 토큰 수(tokens), 호출 시각(created_at)이 담겨요. 월별 활성 사용자 수(MAU)를 구하는 SELECT 문 하나를 작성하세요. 여기서 활성 사용자란 그 달에 모델을 호출한 사용자를 말해요. 결과는 두 컬럼으로 내요: - month : 'YYYY-MM' 형태의 월 (예: '2026-05') - active_users : 그 달에 모델을 호출한 활성 사용자 수 결과는 월 오름차순으로 정렬하세요. solution.sql 에 쿼리를 쓰고, '테스트 실행' 을 누르면 실제 데이터베이스에서 돌아가 결과 표가 나와요.
PostgreSQL 로 AI 모델 호출 사용량 로그에서 월별 활성 이용자 수(MAU)를 구하는 SELECT 문을 짜는 문제입니다. 호출이 기록으로 줄줄이 쌓이는 로그 테이블이 데이터와 함께 준비돼 있고, '테스트 실행' 을 누르면 짠 쿼리가 진짜 데이터베이스에서 돌아 결과 표를 보여줍니다. 결과는 두 칸으로 내는데, 한 칸은 월, 다른 칸은 한 달 동안 모델을 쓴 이용자 수입니다.
이 문제는 "줄을 세는 것과 사람을 세는 것은 다르다"를 다룹니다. 활동 기록이 줄줄이 쌓이는 데이터에서 인원을 구할 때, 줄 수를 그대로 받아들이면 실제 머릿수와 어긋날 수 있습니다. 이런 집계를 믿기 전에는 결과 숫자를 그냥 받아들이지 말고, 같은 이용자가 여러 줄로 남은 경우 그 이용자가 몇으로 세어지는지 실제로 돌려 눈으로 봐야 합니다.