중복없이 카운트하기 위해서 DISTINCT를 사용할 수 있는데,
CASE문과 함께 쓸 때 위치가 헷갈렸다.
그래서 처음에는 아래와 같이 COUNT할 대상 바로 앞에 넣어줬다.
COUNT(CASE WHEN e.event_name = 'login'
THEN DISTINCT e.user_id
ELSE NULL
END)
틀렸다.
그래서 뭔가 이상해보이지만 CASE문 앞으로 DISTINCT를 옮겼다.
COUNT(DISTINCT CASE WHEN e.event_name = 'login'
THEN e.user_id
ELSE NULL
END)
된다.
이렇게 보니 저 위치가 맞는 것 같다.
SQL강의에서 들었을 것 같은데 기억이 안난다.
앞으로 DISTINCT는 시작하자마자 적어야겠다.