CLASS web

MySQL

집계 함수

집계함수

집계함수는 결과 레코드들에 대한 레코드의 개수, 값들의 합, 평균, 최대값, 최소값 등의 산술적인 연산을 한 결과값을 출력한다.

다음은 MySQL에서의 집계함수 목록이다.

집계함수 의미
count(필드명) null 값이 아닌 레코드의 수
sum(필드명) 필드명의 값들의 합계
avg(필드명) 필드명의 값들의 평균
max(필드명) 필드명의 값들 중 가장 큰 값
min(필드명) 필드명의 값들 중 가장 작 값
count(*)
*은 모든것을 의미
레코드의 개수

지금부터 배울 집계함수를 배우기 위해서는 새로운 테이블을 만들어야 합니다.

그럼 아래의 테이블을 만들어보죠

num name gender job area email rank
20200001 elsa w princess arendal elsa@pinkcoding.com 5
20200002 mickey m magician usa mickey@pinkcoding.com 7
20200003 minnie w disney character usa minnie@pinkcoding.com 2
20200004 rapunzel w princess usa rapunzel@pinkcoding.com 3
20200005 snow white w princess usa snow@pinkcoding.com 4
20200006 mike wazowski m Scarer usa wazo@pinkcoding.com 5
20200007 hiro m scientist usa bighero@pinkcoding.com 6
20200008 Yi Sun sin m general officer korea korea@pinkcoding.com 1
20200009 honda souichiro m engineer japan honda@pinkcoding.com 8
20200010 cinderella w princess usa bibidibabidiboo@pinkcoding.com 9

테이블명은 mystudents로 하겠습니다.

그럼 먼저 데이터베이스를 생성해 주세요.

그럼 테이블을 만들겠습니다. tanjirodb를 선택해 주세요.

USE tanjirodb;

다음은 mystudents로 테이블 생성 명령문입니다.

CREATE TABLE `mystudents` ( `mystudentsID` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(10) DEFAULT NULL, `gender` enum('m','w','n') DEFAULT 'n', `job` varchar(20) DEFAULT NULL, `area` varchar(15) DEFAULT NULL, `email` varchar(50) DEFAULT NULL, `rank` int(11) DEFAULT NULL, PRIMARY KEY (`mystudentsID`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
total function

테이블을 만들었으니 이제 데이터를 입력하겠습니다.

INSERT INTO mystudents(name,gender,job,area,email,rank) VALUES ('elsa', 'w', 'princess', 'arendal', 'elsa@pinkcoding.com', 5), ('mickey', 'm', 'magician', 'usa', 'mickey@pinkcoding.com', 7), ('minnie', 'w', 'disney character', 'usa', 'minnie@pinkcoding.com', 2), ('rapunzel', 'w', 'princess', 'usa', 'rapunzel@pinkcoding.com', 3), ('snow white', 'w', 'princess', 'usa', 'snow@pinkcoding.com', 4), ('wazowski', 'w', 'Scarer', 'usa', 'wazo@pinkcoding.com', 5), ('hiro', 'm', 'scientist', 'usa', 'bighero@pinkcoding.com', 6), ('Yi Sun sin', 'm', 'general officer', 'korea', 'korea@pinkcoding.com', 1), ('honda', 'm', 'engineer', 'japan', 'honda@pinkcoding.com', 8), ('cinderella', 'w', 'princess', 'usa', 'bibidibabidiboo@pinkcoding.com', 9);

위의 명령문을 입력합시다.

total function

데이터가 잘 들어갔는지 보겠습니다.

SELECT * FROM mystudents;
total function

그럼 이제 집계함수에 대해서 공부해보도록 하죠!!

레코드 수 구하기

전체 학생의 수를 검색 해 봅시다.

아래의 명령어를 입력

SELECT COUNT(*) FROM mystudents;
total function

합계 구하기

합계를 구하려면 SUM()을 사용합니다.

rank 숫자의 합을 구해보면..

SELECT SUM(rank) FROM mystudents;
total function

평균 구하기

평균을 구하려면 AVG()를 사용합니다.

rank 숫자의 평균을 구해보면..

SELECT AVG(rank) FROM mystudents;
total function

가장 큰 값 구하기

가장 큰 값을 구하려면 MAX()를 사용합니다.

rank 숫자의 가장 큰 값을 구해보면..

SELECT MAX(rank) FROM mystudents;
total function

가장 작은 값 구하기

가장 작은 값을 구하려면 MIN()를 사용합니다.

rank 숫자의 가장 작은 값을 구해보면..

SELECT MIN(rank) FROM mystudents;
total function

다음강좌 에서는 레코드 변경 및 삭제에 대해서 알아봅시다.!!





댓글 0개

정렬기준

PinkCoding

PinkCoding

X

PinkCoding

Web Scratch Pad

X

loading

            
            
        

컨텐츠로 돌아가기