group by 를 이용한 학생들 과목 총점, 평점 만들기 예제 정보
MySQL group by 를 이용한 학생들 과목 총점, 평점 만들기 예제본문
학생들 과목 총점, 평점 만들기 예제
create table subtable(
name varchar(30),
subject char(4),
point int);
insert into subtable values('홍길동','수학',90);
insert into subtable values('홍길동','영어',60);
insert into subtable values('홍길동','국어',80);
insert into subtable values('김철수','수학',100);
insert into subtable values('김철수','영어',80);
insert into subtable values('김철수','국어',50);
insert into subtable values('김영희','수학',100);
insert into subtable values('김영희','영어',100);
insert into subtable values('김영희','국어',100);
mysql> select * from subtable;
+--------+---------+-------+
| name | subject | point |
+--------+---------+-------+
| 홍길동 | 수학 | 90 |
| 홍길동 | 영어 | 60 |
| 홍길동 | 국어 | 80 |
| 김철수 | 수학 | 100 |
| 김철수 | 영어 | 80 |
| 김철수 | 국어 | 50 |
| 김영희 | 수학 | 100 |
| 김영희 | 영어 | 100 |
| 김영희 | 국어 | 100 |
+--------+---------+-------+
9 rows in set (0.00 sec)
mysql> select distinct(name) as 이름, sum(point) as 총점, sum(point)/3 as 평점 from subtable group by name;
+--------+------------+
| name | sum(point) |
+--------+------------+
| 김영희 | 300 |
| 김철수 | 230 |
| 홍길동 | 230 |
+--------+------------+
3 rows in set (0.00 sec)
mysql> select distinct(name) as 이름, sum(point) as 총점, sum(point)/3 as 평점 fm subtable group by name;
+--------+------+----------+
| 이름 | 총점 | 평점 |
+--------+------+----------+
| 김영희 | 300 | 100.0000 |
| 김철수 | 230 | 76.6667 |
| 홍길동 | 230 | 76.6667 |
+--------+------+----------+
3 rows in set (0.00 sec)
출처 : http://www.sqldic.co.kr/sqldicView.action?sqldic.bbs_seq=446&page=1
1
댓글 2개

