본문 바로가기

개발일지

[개발일지]스파르타 코딩클럽_SQL_Order by ④

깔끔한 정렬이 필요할 땐? Order by 

Order by를 사용하면 한 번에 정렬할 수 있다

 

▼결과의 갯수를 오름차순으로 정렬하기

스파르타 코딩클럽 갭처화면

  • order by count(*) 만 추가했다.. 갯수 (count(*) 값)을 기준 으로 정렬해달라는 의미이다
  • 오름차순일때 order by count(*) asc 이때 asc 는 생략가능
  • 내림차순일떄 order by count(*) desc 
  • [꿀팁!] 여기서의 desc는 내림차순을 의미하는 영단어 descending의 약자

Where와 함께 사용하기

. Where절로 조건이 하나 추가되고, 그 이후에 Group by, Order by가 실행되는 것!

 

▼웹개발 종합반의 결제수단별 주문건수 세어보기

스파르타 코딩클럽 강의 캡쳐

[쿼리문 작성 순서]

  1. orders 테이블에서 주문 데이터를 읽어오고
  2. 웹개발 종합반 데이터만 남기고 ☞ where
  3. 결제수단(범주) 별로 그룹화하고 ☞ group by
  4. 결제수단별 주문건수를 세어준다!
  5. 결과물을 정렬한다.☞ order by

[쿼리가 실행되는 순서: from → where → group by → select]

  1. from orders: users 테이블 데이터 전체를 가져온다
  2. where course_title = "웹개발 종합반": 웹개발 종합반 데이터만 남겨준다.
  3. group by payment_method: 같은 payment_method을 갖는 데이터를 합쳐준다
  4. select payment_method, count(*): payment_method에 따라dh 합쳐진 데이터 가 각각 몇 개가 합쳐진 것인지 세어준다.. 예) CARD, CARD, kakaopay 이렇게 데이터가 있었다면, CARD는 2개, kakaopay는 1개겠죠!

[꿀팁] 이런 순서로 쿼리문을 작성하면 편리하다

  1. show tables로 어떤 테이블이 있는지 살펴보기
  2. 제일 원하는 정보가 있을 것 같은 테이블에 select * from 테이블명 limit 10 쿼리 날려보기
  3. 원하는 정보가 없으면 다른 테이블에도 2)를 해보기
  4. 테이블을 찾았다! 범주를 나눠서 보고싶은 필드를 찾기
  5. 범주별로 통계를 보고싶은 필드를 찾기
  6. SQL 쿼리 작성하기!