//=$secondUrl?>
MySQL
집계 함수
집계함수
집계함수는 결과 레코드들에 대한 레코드의 개수, 값들의 합, 평균, 최대값, 최소값 등의 산술적인 연산을 한 결과값을 출력한다.
다음은 MySQL에서의 집계함수 목록이다.
집계함수 | 의미 |
---|---|
count(필드명) | null 값이 아닌 레코드의 수 |
sum(필드명) | 필드명의 값들의 합계 |
avg(필드명) | 필드명의 값들의 평균 |
max(필드명) | 필드명의 값들 중 가장 큰 값 |
min(필드명) | 필드명의 값들 중 가장 작 값 |
count(*) *은 모든것을 의미 |
레코드의 개수 |
지금부터 배울 집계함수를 배우기 위해서는 새로운 테이블을 만들어야 합니다.
그럼 아래의 테이블을 만들어보죠
num | name | gender | job | area | 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;
테이블을 만들었으니 이제 데이터를 입력하겠습니다.
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);
위의 명령문을 입력합시다.
데이터가 잘 들어갔는지 보겠습니다.
SELECT * FROM mystudents;
그럼 이제 집계함수에 대해서 공부해보도록 하죠!!
레코드 수 구하기
전체 학생의 수를 검색 해 봅시다.
아래의 명령어를 입력
SELECT COUNT(*) FROM mystudents;
합계 구하기
합계를 구하려면 SUM()을 사용합니다.
rank 숫자의 합을 구해보면..
SELECT SUM(rank) FROM mystudents;
평균 구하기
평균을 구하려면 AVG()를 사용합니다.
rank 숫자의 평균을 구해보면..
SELECT AVG(rank) FROM mystudents;
가장 큰 값 구하기
가장 큰 값을 구하려면 MAX()를 사용합니다.
rank 숫자의 가장 큰 값을 구해보면..
SELECT MAX(rank) FROM mystudents;
가장 작은 값 구하기
가장 작은 값을 구하려면 MIN()를 사용합니다.
rank 숫자의 가장 작은 값을 구해보면..
SELECT MIN(rank) FROM mystudents;
다음강좌 에서는 레코드 변경 및 삭제에 대해서 알아봅시다.!!
//=$langList['bottomThankyou'][$langMode]?>