COUNT
count 함수는 해당 항목 레코드의 개수를 반환하는 함수
select count(id)
from `thelook_ecommerce.users`
select count(distinct city)
from `thelook_ecommerce.users`
중복 제거해서 카운팅도 가능
SUM
해당 항목 레코드의 합계를 반환하는 함수
select sum(retail_price)
from `thelook_ecommerce.products`
AVG
해당 항목 레코드의 평균 반환하는 함수
select avg(cost)
from `thelook_ecommerce.products`;
MAX
해당 항목 레코드의 최대값을 반환하는 함수
select max(cost), max(retail_price)
from `thelook_ecommerce.products`;
MIN
해당 항목 레코드의 최소값을 반환하는 함수
select min(cost), min(retail_price)
from `thelook_ecommerce.products`;
VARIANCE
해당 항목 레코드의 분산을 반환하는 함수
select variance(retail_price)
from `thelook_ecommerce.products`
STDDEV
해당 항목 레코드의 표준편차를 반환하는 함수
select stddev(retail_price)
from `thelook_ecommerce.products`
GROUP BY
- 특정 항목을 기준으로 그룹화하여 조회할 수 있음
- 데이터를 그룹화 하여 조회할 때에는 그룹화 하려는 항목이 select에 들어가야 함
국가별 유저수
select country, count(id)
from `thelook_ecommerce.users`
group by country;
카테고리별 상품판매가 합계
select
category,
sum(retail_price) as sum_retail_price
from `thelook_ecommerce.products`
group by category
SQL 연습문제 4-1
회원(products) 테이블에서 전체 유저의 평균연령을 조회하세요.
SELECT AVG(age)
FROM `thelook_ecommerce.users`
SQL 연습문제 4-2
회원(products) 테이블에서 여성 유저의 평균연령을 조회하세요.
SELECT avg(age)
FROM `thelook_ecommerce.users`
where gender = 'F'
SQL 연습문제 4-3
회원(users) 테이블에서 국가별 가입자수를 조회하세요.
select country, count(id)as country_user_count
from `thelook_ecommerce.users`
group by country
SQL 연습문제 4-4
회원(users) 테이블에서 남성 유저의 국가별 가입자 수를 조회하세요.
select country, count(country) as country_user_count
from `thelook_ecommerce.users`
where gender = 'M'
group by country
SQL 연습문제 4-5
회원(users) 테이블에서 가입기간(created_at)이 2020년도 1월인 유저의 국가별 가입자 수를 조회하세요.
select country, count(id) as country_user_count
from thelook_ecommerce.users
where created_at >= '2020-01-01' and created_at < '2020-02-01'
group by country;
SQL 연습문제 4-6
회원(users) 테이블에서 가입기간(created_at)이 2020년도 1월인 유저의 국가별 성별 가입자 수를 조회하세요.
select country, gender, count(gender) as country_gender_user_count
from thelook_ecommerce.users
where created_at >= '2020-01-01' and created_at < '2020-02-01'
group by country, gender;
SQL 연습문제 4 (도전)
SQL 연습문제 4-7
주문정보(orders) 테이블에서 2022년도의 주문 상태가 환불인 유저 아이디(user_id), 총 주문 아이템(num_of_item)의 개수를 조회하세요.
select user_id, sum(num_of_item)
from `thelook_ecommerce.orders`
where status = 'Returned'
and created_at >= '2022-01-01'
and created_at < '2022-12-31'
group by user_id;
프로그래머스 문제 4-2 (level 1)
SELECT MAX(PRICE) AS MAX_PRICE
FROM PRODUCT;
프로그래머스 문제 4-3 (level 2)
SELECT MIN(DATETIME) AS '시간'
FROM ANIMAL_INS
프로그래머스 문제 4-4 (level 2)
SELECT COUNT(ANIMAL_ID) AS COUNT
FROM ANIMAL_INS
프로그래머스 문제 4-5 (level 2)
SELECT COUNT(DISTINCT NAME)
FROM ANIMAL_INS
COUNT를 하면 NULL 값은 알아서 빠져서 굳이 WHERE NAME IS NOT NULL 할 필요 없음
COUNT()와 COUNT(컬럼명) 차이
COUNT() : NULL값 포함 O
COUNT(컬럼명) : NULL값 포함 X
'AI SCHOOL > SQL' 카테고리의 다른 글
[SQL] 숫자, 문자열 함수, 날짜 함수 연습문제(프로그래머스) (0) | 2023.01.25 |
---|---|
[SQL] 숫자, 문자열 함수 (0) | 2023.01.25 |
[SQL] HAVING, ORDER BY (0) | 2023.01.20 |
[SQL] WHERE / 비교연산자 / 논리연산 / BETWEEN / IN / LIKE / IS NULL (0) | 2023.01.13 |
[SQL] SQL과 데이터베이스 / select, from / as, limit, distinct (0) | 2023.01.13 |