스파르타_SQL_개발일지
2주차 - Group by 범주의 통계를 내주자~!
천재메기
2023. 2. 8. 15:03
아래는 하나의 쿼리를 짜기 위한 일련의 과정이다.
순서대로 하나씩 이해해보자.
# 1) < Select * from 테이블 >으로 먼저 감 잡기
select * from users;
# 2) Group by 이해하기
: 유저들을 이름별로 묶어줘!
SELECT * FROM users
group by name;
그러면 범주가 총 54개가 나온다.
# 3) Select name, Count(*) 함께 쓰기
예 : 유저들을 이름으로 묶어주고, 그 묶인 애들이 각각 몇 개인지 개수도 세보자!
그리고 다른 정보 필요 없으니까 이름만 따로 빼서 보자!
SELECT name, COUNT(*) FROM users
group by name;
총 54개의 범주인것은 변함이 없다.
하지만 그 범주 안에 속한 데이터 개수가 몇개인지를 나타내 준다.
위 쿼리가 실행되는 순서 : from → group by → select name, count(*)
- From users : users 테이블 데이터 전체 가져오기
- group by name : users 테이블에서 같은 name을 갖는 데이터 합쳐주기
- select name, count(*) : name에 따라 합쳐진 데이터가 각각 몇개가 합쳐졌는지 세어준다.
살펴보기
users 테이블에서 '신'씨를 가진 데이터만 불러와서 개수 살펴보기
select * from users
where name = '신**';
Group by 사용해서 신씨를 가진 데이터가 몇개인지 살펴보기
select name, count(*) from users
group by name;
정리
select 범주별로 세어주고 싶은 필드명, count(*) from 테이블명
group by 범주별로 세어주고 싶은 필드명;