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