데이터 설명
user 테이블은 스파르타 코딩클럽에 가입한 유저들의 정보를 날짜별로 기록한 테이블입니다.
- user_id: 익명화된 유저들의 아이디(varchar255)
- created_at: 아이디 생성 날짜(timestamp)
- updated_at: 정보 업데이트 날짜(timestamp)
- name: 익명화된 유저들의 이름(varchar255)
- email: 이메일(varchar255)
문제
다음과 같은 결과 테이블을 만들어봅시다.
(name_cnt: “김”씨 성을 가지고 있는 교육생의 수)
문제 풀이
레코드의 수를 세기 위해선 SELECT COUNT 함수 구문을 이용해야 한다.
특정한 문자로 시작한다는 조건을 주기 위해선 LIKE를 활용할 수 있다.
→ name LIKE "김%"
정답:
SELECT
COUNT(name) AS "name_cnt"
FROM users
WHERE name
LIKE "김%"
;
결과 확인:
정답 확인:
SELECT count(distinct(user_id)) as name_cnt
FROM
users
where substr(name,1,1) = '김'
비록 결과물은 똑같긴 하지만, user_id에 중복이 없게끔 제거하는 과정을 거치므로 정답에서 제시한 코드가 더 적절한 것 같다.
'개발일지 > SQL' 카테고리의 다른 글
SQL 실전!(3) (0) | 2024.10.24 |
---|---|
SQL 실전!(2) (0) | 2024.10.24 |
SQL 문법 다지기(11) (0) | 2024.10.14 |
SQL 문법 다지(10) (0) | 2024.10.14 |
SQL 문법 다지기(9) (0) | 2024.10.14 |
댓글