-
mySQL 기초 문법( select, where, group by, order by, etc ) TILmySQL 2022. 11. 14. 22:51
신청해놓고 미뤄뒀던 mySQL 강좌를 들었다..!
국비지원 강의는 하루 8강 제한이 있어서 오늘부터는 들어야만 완강이 가능했기 때문..
그냥 개인 저장용에 가까운 것들!
딱히 내가 개인적으로 탐구할만한 내용은 없어서 너무 단순해져버림
모르면 나가 디져야하는 기초내용들
DB의 상태. 탭을 눌러도 필드가 보인다 show Tables -- Tables의 테이블 (?) 을 보는 명령어
실행화면 select * from users -- users 테이블 의 모든데이터를 select, where email like "%@gmail.com" -- email 필드에서 모든 문자열@gmail.com 에 해당하는 조건을 걸고, and created_at between "2020-07-12" and "2020-07-14"; -- created_at 필드에서 두 날짜 사이라는 조건을 추가
대충 이렇게 필터링되서 잘 나옴 select distinct(payment_method) from orders -- 중복 제거해서 출력해주기~~~
그 외 유용한 코드들
select * from users limit 5; -- DB의 내용이 매우 방대할 경우, 출력을 5개로 제한하여 찍먹하는 코드! limit!
select count(*) from users -- users 테이블의 데이터 갯수 세주깅
group by
위의 내용들은 데이터를 필터링은 하지만 그 자체로 어떤 의미가 있지는 않았다.
그래서 필요한 group by!
group by는 단지 '보여주기' 가 목적이 아니라 실제 통계를 위해 꼭 필요한 기능이다
이렇게 자연의 상태인 데이터를 select * from orders group by payment_method; -- payment_method 필드로 그룹핑
이렇게 중복되는 데이터를 필드별로 묶어서 통합하고 select payment_method, count(*) from orders -- 표기할 방법을 설정 group by payment_method;
그룹화해서 셀렉한 필드와 갯수를 차례대로 보여줌! select week, min(likes), max(likes), sum(likes), round(avg(likes), 2) from checkins group by week -- likes 필드의 최소값, 최대값, 총계, 평균 등도 구할 수 있고,
select payment_method, count(*) from orders where course_title like "웹개발%" group by payment_method order by count(*); -- 다양한 조건을 조합해서 세분화할수도있음! -- order by count(*) 는 count(*)필드를 오름차순 정렬 -- order by count(*) desc 라 쓰면 내림차순 정렬
이러이러한 것들..
너무 대충 정리한 것 같지만 오늘은 너무 졸려서 어쩔수없다........... 다 알아볼 수 잇어........
'mySQL' 카테고리의 다른 글
mySQL 기초적 코드들.. (0) 2022.11.03