지난 주차의 초점은 데이터를 불러오는 것이었다면
이번 주차의 초점은 그것을 어떻게 묶고, 연산하고, 정렬할 것인가였음
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 |
---|