group by = 동일한 범주의 데이터를 묶어주는 것
< < 쓰는 순서 중요! !> >
- * 안 헷갈라기 위해서! 익숙해진다고 해도 error 확률 줄임.
1) select * from orders
group by name → orders 테이블에서 모든 (*) 필드를 불러와서 name으로 묶어.
2) select name, count(*) from order
group by name → orders테이블에서 모든 (*) 필드를 불러와서 name으로 묶었는데
그 중에서도 name 필드를 추출해서 그것에 대한 모든 개수를 세줘.
group by 와 함께 쓰는 함수
order by = 깔끔하게 데이터 정렬
TIP) 세미콜론(쌍반점)을 명령문 끝마다 붙여주면 명령문이 끝났다는 것을 한눈에 보기 더 쉽다.
select name, count(*) from orders group by orders order by count(*) |
내림차순, 오름차순 정렬해주는 order by 액셀에서도 필터 걸고 마지막에 정렬하기 때문에 order by도 마지막에 적어주기. |
select name, count(*) from orders group by name order by count(*)asc (ascedning의 약자) |
기본적으로 오름차순! 뒤에 오름차순을 의미하는 asc를 붙여주기. |
select name, count(*) from orders group by name order by count(*)desc |
내림차순으로 하고 싶을때는 내림차순을 의미하는 desc 붙여주기. |
select * from checkins order by likes desc |
order by는 꼭 group by 와 함께 등장하는 것은 아니고 정렬을 하고자 할 때 사용하면 된다. |
Alias (알리아스) = 별명을 붙여주는 기능
select * from orders where course_title = '웹개발 종합반' |
이렇게 쓸 수도 있지만 테이블이 많아지면 구분이 힘들어 지기 때문에 별칭을 붙여주기. |
select * from orders o where o.course_title = ' 웹개발 종합반' |
별칭을 붙여주는거 외에도 출력되는 열 이름을 변경할 수 있음. |
select payment_method.count(*) from orders where course_title = '웹개발 종합반' group by payment_method |
<<<< 이게 기본이라면 |
select payment_method.count(*) as cnt from orders o where course_title = '웹개발 종합반' group by payment_method |
이렇게 했을 때 출력되는 값을 count(*) 에서 cnt로 변경 가능. |
'LEARNING > SQL Record' 카테고리의 다른 글
♧ Excel보다 쉬운, SQL 1 주차 수강! - select / where (0) | 2022.11.08 |
---|