✏️범주의 통계
🔎 Group by
수도별, 성별, 수강과목별 데이터를 보고 싶을때 사용.
select name, count(*) from users
group by name;
users 데이터의 이름은 '김**'으로 저장되어 있으므로
성별 데이터를 불러오는 명령어이다.
✏️쿼리 진행 순서 : from → group by → select
데이터를 그룹별로 가져오는 것이다.
group by 데이터값을 where 데이터값과 비교해 살펴볼 수 있다.
select * from users
where name = "신**";
select name, count(*) from users
group by name;
✏️ 정렬
🔎 Order by
select name, count(*) from users
group by name
order by count(*);
select name, count(*) from users
group by name
order by count(*) acs;
오름차순 정렬 acs (ascending 약자)
select name, count(*) from users
group by name
order by count(*) desc;
내림차순 정렬 desc (descending 약자)
내림차순 정렬은 추후 rank(순위)에도 쓰인다.
✏️쿼리 진행 순서 : from → group by → select → order by
✏️ 별칭
🔎 Alias
쿼리가 길어지면 헷갈리므로 별칭을 만들어 줍니다.
이는 다음 수업인 join문을 쓸때 유용하게 쓰입니다.
select payment_method, count(*) as cnt from orders o
where o.course_title = '앱개발 종합반'
group by payment_method
order by cnt desc
내림차순 정렬 조건을 줄때도 위와 같이 별칭 cnt를 써서 정렬가능합니다.
🍏 KEEP, 습관 중요한 것
범주(group by), 조건(where), 정렬(order by)
위와 같은 조건들을 설정하게 되면서 원하는 정보만 추출할 수 있게 되었다.
조건들이 많이진만큼 조건을 나열하는 순서가 중요하다고 느껴졌다.
🍎 PROBLEM, 이슈, 에러, 오류
select * from 테이블명
where 조건
group by 범주
order by 정렬조건
이 순서를 지키지 않고 select문 다음에 범주를 쓰고 조건문을 쓰니 오류가 발생했다.
🍉 TRY 시도
처음에는 뭐때문에 오류가 발생한건지 몰랐는데
오류 해석문을 보고 where조건문이 잘못되었다는걸 발견하고
그 주변 코드를 살펴보고 순서를 바꾸니 제대로 실행되었다.
sql문을 작성할때 문법 순서에 유의해야 겠다.
'SQL 개발일지' 카테고리의 다른 글
[웹개발 종합반 2주차] 서버와 통신하기 Ajax (2) | 2022.10.21 |
---|---|
👩💻[내일배움단] 엑셀보다 쉬운 SQL 18회차 (2) | 2022.07.14 |
👩💻 [SQL문] Subquery (0) | 2022.07.14 |
👩💻 [SQL문] JOIN, UNION (0) | 2022.07.11 |
👩🏼💻 [SQL] Select 쿼리문 (0) | 2022.07.05 |
댓글