728x90
활용할 예시 users 테이블의 데이터 불러오기
select * from users
id | name | date | address | |
user01 | 이** | eee22@gmail.com | 2023.01.02 | 서울 |
user02 | 김** | kkmm@naver.com | 2023.03.05 | 부산 |
user22 | 박** | ppark@gmail.com | 2023.01.26 | 울산 |
user109 | 이** | lee33@gmail.com | 2023.02.22 | 광주 |
user332 | 최** | choi99@naver.com | 2023.05.15 | 강릉 |
user098 | 김** | kim45@hanmail.com | 2023.04.07 | 경주 |
user123 | 문** | moon52@naver.com | 2022.12.15 | 진주 |
user234 | 이** | yiyi@naver.com | 2022.11.29 | 청주 |
user11 | 최** | coco@gmail.com | 2023.01.09 | 인천 |
이름별로 몇 명인지 세어보기
select name, count(*) from users
group by name
name | count(*) |
이** | 3 |
김** | 2 |
박** | 1 |
최** | 2 |
문** | 1 |
group by로 묶어주고 order by로 정렬하기
select name, count(*) from users
group by name
order by count(*) desc
name | count(*) |
이** | 3 |
김** | 2 |
최** | 2 |
박** | 1 |
문** | 1 |
desc : 내림차순
asc : 오름차순(생략가능)
users 테이블에서 오래된 순으로 정렬하기(오름차순)
select * from users
order by date asc
id | name | date | address | |
user234 | 이** | yiyi@naver.com | 2022.11.29 | 청주 |
user123 | 문** | moon52@naver.com | 2022.12.15 | 진주 |
user01 | 이** | eee22@gmail.com | 2023.01.02 | 서울 |
user11 | 최** | coco@gmail.com | 2023.01.09 | 인천 |
user22 | 박** | ppark@gmail.com | 2023.01.26 | 울산 |
user109 | 이** | lee33@gmail.com | 2023.02.22 | 광주 |
user02 | 김** | kkmm@naver.com | 2023.03.05 | 부산 |
user098 | 김** | kim45@hanmail.com | 2023.04.07 | 경주 |
user332 | 최** | choi99@naver.com | 2023.05.15 | 강릉 |
asc를 생략해도 동일한 결과
select * from users
order by date
쿼리문이 실행되는 순서
1. from으로 테이블 불러오기
2. group by로 범주를 묶어주기
3. select으로 불러올 필드 결정하기
4. order by로 정렬하기
활용할 예시 orders 테이블의 데이터 불러오기
select * from orders
order_no | user_id | part | pay_method |
123-515-123 | user01 | food | card |
123-515-125 | user02 | food | kakaopay |
123-515-127 | user03 | thing | money |
123-515-133 | user04 | food | card |
123-515-155 | user05 | thing | card |
123-515-129 | user06 | food | money |
123-515-157 | user07 | food | kakaopay |
123-515-136 | user08 | thing | card |
123-515-177 | user09 | food | card |
식품파트의 결제수단별 주문건수 세고, 오름차순 정렬하기
select pay_method, count(*) from orders
where part = 'food'
group by pay_method
order by count(*)
pay_method | count(*) |
money | 1 |
kakaopay | 2 |
card | 3 |
728x90
반응형
'Luna's 개발일지 > SQL' 카테고리의 다른 글
[SQL.04] Group by로 범주별 통계 구하기 (4) | 2023.05.22 |
---|---|
[SQL.03] SQL 기초 - Where절과 같이 쓰면 좋은 문법 (4) | 2023.04.03 |
[SQL.02] SQL 기초 쿼리문 연습하기 (3) | 2023.03.06 |
[SQL.01] SQL의 쉬운 사용을 도와주는 도구 DBeaver 설치하는 방법 (2) | 2023.02.06 |
댓글