걷기 시작한 Coding Novice

order by 5

별칭을 사용하여 group by, order by, where 연습해보기

네이버 이메일을 사용하여 앱개발 종합반을 신청한 주문의 결제수단별 주문건수 세어보기 실습으로 위의 내용을 도출하기 위해 작성해보기 연습을 해보자. 우선 어느 테이블이 해당 내용의 데이터를 뽑아내는데 적절한지 살펴보자. select * from orders orders테이블이 적당한 것 같다. 추가로 앱개발 종합반을 신청한 부분만 필요하니, where문구로 선택해주자. select * from orders o where o.course_title = '앱개발 종합반' 이후 결제수단별로 묶어 주는게 좋겠지? select * from orders o where o.course_title = '앱개발 종합반' group by payment_method 이제 naver를 사용하는 email 것들로만 추려보자. 아..

SQL 2022.05.22

Group by, Order by 연습해보기

이제 예제를 가지고 조금 연습을 추가로 해볼꺼다. 예제는 다음과 같다. (1) 앱개발 종합반에 결제 수단별 주문건수. (2) Gmail을 사용하는 성씨별 회원수 세어보기. (3) Course_id별 ‘오늘의 다짐’에 달린 평균 like 개수 구해보기. (1) 앱개발 종합반에 결제 수단별 주문건수. 주문건수니까 count를 활용하려나? show tables로 살펴보니 테이블은 orders를 활용해야 할꺼 같다. 일단 orders 테이블을 불러오자. select * from orders 결제 수단별이니까 group by로 결제수단별로 묶어주었다. select * from orders group by payment_method 앱개발 종합반만 남겨기위해 where을 사용해주었고 select * from ord..

SQL 2022.05.11

Order by 문자열은 정렬이 되는가?

Order by는 문자열 기준으로도 정렬이 된다. select * from users order by email Users 테이블에서 email을 오름차순 정렬해줘! 의 결과다. 보이는봐와 같이 문자열도 오름차순이 된 화면이다. 물론 내림차순도 가능하다. select * from users order by email desc 문자열인 이름도 가능하겠지? select * from users order by name Users 테이블에서 name을 오름차순 정렬해줘! 이 경우에도 역시나 내림차순도 마찬가지다. select * from users order by name desc 날짜 및 시간도 가능하다. select * from users order by created_at Users 테이블에서 create..

SQL 2022.05.11

order by 사용해보기

◆Order by 전에 group by로 같은 성씨의 데이터를 하나로 묶고, 각 성씨의 회원수를 구했었다. select name, count(*) from users group by name 이것을 정렬을 해보자. 무엇을 정렬하던 계산할 것은 하고, 자료를 추출 한 후 마지막에 이루어져야 한다. 그 말은? 마지막에 와야한다! select name, count(*) from users group by name order by count(*) 기본적으로 작은 것부터 나온다. (즉, 오름차순으로 나온다) 큰 것부터 보고싶다면(즉, 내림차순으로 보고싶다면) 추가적인 descending의 약자인 desc라는 문구가 필요하다. (참고로 오름차순은 asc, ascending의 약자인데 써주지 않아도 된다) selec..

SQL 2022.05.05

group by, order by 가 뭔데? (통계 관련 최대 / 최소 / 평균 / 개수)

데이터베이스 테이블에 저장된 데이터는 쌓여있는 날 것의 데이터이다. 쌓여있는 날 것의 데이터를 뽑아 썻다면, 이후에는 이를 가지고 의미를 갖는 '정보'로 변환하여 데이터베이스 테이블에 저장된 데이터를 사용할꺼다. 예를들어 가장 많은 like를 받은 사람의 이름, 전체 신청자수, 평균 연령 등은 의미있는 '정보'이다. (더 나아가면 범주(category) 각각의 정보가 궁금할 수 있다) 우선 과목별 신청자수를 구한다고 한다면? select count(*) from orders where course_title = '앱개발 종합반' select count(*) from orders where course_title = '웹개발 종합반' 총 두 개의 과목이 있으니, 두 개의 쿼리를 작성해서 각각 위의 사진처럼..

SQL 2022.05.05