Contents
내가 작성한 쿼리
2019년 7월 27일까지 30일 동안의 일일 활성 사용자 수를 포함하여 찾기 위한 솔루션을 작성하세요. 사용자가 그 날에 적어도 하나의 활동을 했다면 언젠가는 활성 상태였습니다. 결과 테이블을 순서에 상관없이 반환하세요.
내가 작성한 쿼리
Oracle
SELECT TO_CHAR(activity_date, 'YYYY-MM-DD') AS day, COUNT(DISTINCT user_id) AS active_users FROM Activity WHERE activity_date BETWEEN TO_DATE('2019-07-27', 'YYYY-MM-DD') - 29 AND TO_DATE('2019-07-27', 'YYYY-MM-DD') GROUP BY activity_date;
MySQL
SELECT activity_date AS day, COUNT(DISTINCT user_id) AS active_users FROM Activity WHERE activity_date BETWEEN DATE_SUB('2019-07-27', INTERVAL 29 DAY) AND '2019-07-27' GROUP BY activity_date;
차이점
- 날짜 범위 설정 방식의 차이
MySQ
:DATE_SUB(날짜, INTERVAL 빼고_싶은_수치 단위)
Oracle
: 날짜 - 정수
Share article