-
MySQL - SELECT(2주차)DB 2023. 6. 2. 14:35728x90
수업내용
- group by
- order by
group by
SELECT
[테이블 컬럼 ( 필드 ) ], [테이블 컬럼 ( 필드 ) ], ...
FROM [TABLE 명]
GROUP BY [테이블 컬럼 (필드)], ...group by 를 해주면, 해당 테이블은 지정된 필드로 묶이게 된다.
그 이후에, 집계함수를 사용하게 되면, 묶인 그룹별로 집계함수가 동작을 한다.
SELECT name 성씨 FROM users ;
>> 결과 : name 필드만을 보여준다.
SELECT name 성씨, count(name) AS `갯수` FROM users ;
>> 결과 : 그룹없이 단순히 테이블 내의 모든 이름의 count를 진행
이** 은 이전의 결과에 맨 위에 있던게 단순히 나온 것.
SELECT name 성씨, count(name) AS `갯수` FROM users GROUP BY name;
>> 결과 : 동일한 이름으로 묶였기 때문에, 성씨별로 묶이고,
그 다음 성씨별로 count를 수행한 결과이다.order by
SELECT
[테이블 컬럼 ( 필드 ) ], [테이블 컬럼 ( 필드 ) ], ...
FROM [TABLE 명]
WHERE 절
GROUP BY 절
...
ORDER BY [테이블 컬럼 (필드)] (DESC, ASC), ...order by는 테이블 검색 후 결과를 보여주기 가장 마지막에 검색 테이블의 정렬을 도와준다.
DESC : 내림차순 / ASC(default) : 오름차순
SELECT name 성씨, count(name) AS `갯수` FROM users GROUP BY name;
SELECT name, count(*) FROM users GROUP BY name ORDER BY count(*) ;
>> 결과 : group by 까지 수행된 결과에서 count(*) 필드를 기준으로 오름차순 정렬된 모습'DB' 카테고리의 다른 글
index - mysql (0) 2023.08.13 MySQL - SELECT(4주차) (0) 2023.06.02 MySQL - SELECT(3주차) (0) 2023.06.02 MySQL - SELECT(1주차) (0) 2023.06.01