
* 겪고 있는 문제 상황을 최대한 자세하게 작성해주세요.
* 문제 해결을 위해 어떤 시도를 해보았는지 구체적으로 함께 알려주세요.
4주차 퀴즈 '이메일 도메인별 유저의 수 세어보기' 부분에서 선생님께서 아래와 같은 방법을 알려주셨습니다.
select domain, count(*) as cnt from (
select SUBSTRING_INDEX(email,'@',-1) as domain from users
) a
group by domain
이 방법 자체에 대해선 이해가 됐는데, 어차피 users 라는 같은 테이블을 사용하므로, 바로 select에다가 'substring_index'를 쓰면 되는 거 아닌가 하는 생각이 듭니다. 저 같은 경우엔 아래와 같은 쿼리로 실행해봤더니 결과값은 동일하게 나오더라고요.
select SUBSTRING_INDEX(email, '@', -1) as domain, count(*) from users u
group by domain
제 일감으로는 아래 쿼리가 조금 더 '덜' 복잡한 방식인 거 같기는 한데, 제가 혹시 잘못 생각하거나 놓치고 있는 부분이 있는지 궁금합니다. 아래와 같은 쿼리를 사용했을 때 뭔가 다른 곳에 적용했을 때 비는게 발생할 수 있다거나... 등등이요.
