- 상황: 여러분들은 스파르타코딩클럽의 분석가로 취직했습니다. DBeaver를 테스트 해볼 겸 “김”씨로 시작하는 이용자들 수를 세어 보기로 했습니다.
- 데이터 설명
- user 테이블은 스파르타 코딩클럽에 가입한 유저들의 정보를 날짜별로 기록한 테이블입니다.
- user_id: 익명화된 유저들의 아이디(varchar255)
- created_at: 아이디 생성 날짜(timestamp)
- updated_at: 정보 업데이트 날짜(timestamp)
- name: 익명화된 유저들의 이름(varchar255)
- email: 이메일(varchar255)
- user 테이블은 스파르타 코딩클럽에 가입한 유저들의 정보를 날짜별로 기록한 테이블입니다.
- 문제: 다음과 같은 결과테이블을 만들어봅시다.
- name_cnt: “김”씨 성을 가지고 있는 교육생의 수
이건 기존에 like문을 이용하여 특정문자찾기 "김%"으로 찾으면 될것같이 보인다.
SELECT COUNT(DISTINCT user_id) AS name_cnt
FROM users
WHERE name LIKE '김%';
count *을 해도 되지만 distinct를 구태여 사용한 이유는 중복이 막기위해 활용된다.
그리고 where에서는 김씨가 보통 맨앞에 오는 이름이므로 like를 이용하여 썻다.
'sql' 카테고리의 다른 글
left join (0) | 2025.01.31 |
---|---|
date round() (0) | 2025.01.24 |
1차 마무리 문제 (0) | 2025.01.23 |
e.name d.name JOIN ON (0) | 2025.01.23 |
* count() date_sub() (0) | 2025.01.23 |