지난 주차의 초점은 데이터를 불러오는 것이었다면

이번 주차의 초점은 그것을 어떻게 묶고, 연산하고, 정렬할 것인가였음

 

1. Group by

말 그대로 같은 항목의 자료들을 카테고리 별로 묶는 법

 

select name, count(*) from users

group by name

 

select week, min(likes) from checkins

group by week

 

count(*) 자리에 count(*), min(필드 명), max(필드 명), avg(필드 명), sum(필드 명), 등 여러가지가 들어갈 수 있음

 

avg(필드 명)의 경우 평균을 의미하므로 소숫점이 출력될 수 있기에

round(avg(필드 명) , n)을 이용해 수치를 반올림 할 수도 있음

n은 최대로 출력할 소수 자릿수를 의미

 

2. Order by

말 그대로 정렬을 위한 명령어

정렬이므로 다른 코드를 통해 자료 가공이 끝난 뒤 가장 마지막에 사용

 

order by count(*) : 개수를 센 것을 바탕으로 오름차순 정렬

order by count(*) desc : 개수를 센 것을 바탕으로 내림차순 정렬

order by name desc : 이름을 내림차순 정렬. 당연히 시간이나 다른 필드명도 정렬이 가능함

 

+) Alias

자료 가공 시 좀 더 특정성을 높일 수 있도록 별칭을 부여하는 것을 말함

다음 주차에 좀 더 상세히 다룰 예정이기에 예시만을 기록함

 

ex1) 자료에 별칭 부여

select * from orders o

where o.course_title='심화반'

 

ex2) 특정 명령어에 별칭 부여. 이후 파일에 별칭으로 표시

select A, count(*) as cnt from orders

order by cnt

'코딩, 사무 > SQL 강의' 카테고리의 다른 글

SQL 개발일지 1주차(220627~220703)  (0) 2022.07.03

+ Recent posts