DBMS MySQL - SQL5 : GROUP BY 레코드를 그룹으로 묶기
이전글 :DBMS MySQL - SQL4 : LIMIT, LIKE -> 조회수 제한 및 키워드로 DB조회하기
안녕하세요. 알렉스입니다. 이번에는 SQL문을 이용하여 레코드를 그룹으로 만들고 그것을 사용하는 것에 대해서 알아보겠습니다.
1. GROUP BY
'GROUP BY'는 컬럼내에서 같은 레코드가 있을때 그것을 묶어줍니다. GROUP BY는 ORDER BY 처럼 단독으로 사용될수 없고 다른 sql구문들과 갖이 사용해댜 합니다. 일단 간단한 그룹을 설정하고 그 그룹에 있는 레코드의 개수를 새 보도록 하겠습니다.
$ SELECT COUNT(*), [Column Name1] FROM [Table Name] GROUP BY [Column Name1]
[Column Name1]과 각각 일치하는 레코드의 수를 구한다.
사진1) GROUP로 조회 |
하지만 GROUP BY로 조회할시 오류가 나는 경우가 있습니다.
사진2) GROUP BY 오류 |
사진2에서는 모든 컬럼을 갖고 똑같이 released_year로 GROUP BY를 할려고 했습니다. 하지만 MySQL에서 거부를 했습니다. 이유는 id컬럼 때분입니다. id는 각각의 레코드마다 다 다르기 때문에 하나로 합칠수가 없습니다. 사진1에서는 COUNT를 이용하여 수량을 셋기 때문에 상관 없지만 GROUP BY로 나타낼때는 동일해야 합니다.
댓글
댓글 쓰기