SQL

SQL 공부 시작 2주차💡 GROUP BY ORDER BY ALIAS

JAVABOZA 2023. 6. 2. 00:20

2주차에서는 동일한 범주의 데이터를 묶어서 효과적으로 통계를 내주는 쿼리문을 짤 수 있었다.

 


GROUP BY

Q : 성씨별로 회원수를 GROUP BY로 묶어서 데이터 가져오기

더보기

A : 

    SELECT name, count(*) FROM users
    GROUP BY name;

 - SELECT 과 FROM 사이에는 뽑아볼 필드를 작성해준다

 - GROUP BY name 으로 필드에서 동일한 값을 데이터를 하나로 합쳐준다.

 - count(*)는 GROUP BY로 합쳐진 데이터의 개수를 카운팅해준다.

 

 

 

 

조금 더 나가보면

동일한 범주에서 최솟값을 구해보자

더보기

SELECT week, min(likes) FROM checkins
GROUP BY week;

 

SELECT 범주가 담긴 필드명, min (필드명) FROM 테이블명

GROUP BY 범주가 담긴 필드명;

==> 동일한 범주 특정 필드의 최솟값은 min(필드명)을 적어 쿼리를 짠다.

==> 평균값은 avg(필드명) 

==> 합계는 SUM(필드명) 

 


ORDER BY

ORDER BY를 사용하면 한번에 정렬 가능

더보기

SELECT name, count(*) FROM users
GROUP BY name
ORDER BY count(*);

==> 갯수 count(*) 을 기준으로 정렬

 


더보기

SELECT name, count(*) FROM users
GROUP BY name
ORDER BY count(*) desc;

 

SELECT * FROM 테이블명
ORDER BY 정렬의 기준이 될 필드명;

==> desc 는 내림차순을 의미 // asc는 오름차순을 의미

 


 

ALIAS

ALIAS = 별칭

 

더보기

SELECT payment_method, count(*) AS cnt FROM orders o
WHERE o.course_title = '앱개발 종합반'
GROUP BY payment_method

==> AS(=ALIAS) 로 원하는 별칭을 부여