듀

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

[이 게시물은 관리자님에 의해 2011-10-31 17:27:00 MySQL에서 이동 됨]
|

댓글 2개

group by 하면 distinct는 필요없어요.
PHP 5.3.0 부터는 바뀐게 많아서..
댓글을 작성하시려면 로그인이 필요합니다.

프로그램

8,188건
+
제목 글쓴이 날짜 조회
10-05-31 조회 2,985
10-04-17 조회 4,753
10-03-23 조회 5,913
10-02-26 조회 3,440
10-02-23 조회 3,387
10-02-11 조회 4,014
10-02-09 조회 3,063
10-01-26 조회 3,517
10-01-23 조회 6,868
10-01-19 조회 3,565
10-01-13 조회 3,766
09-12-06 조회 4,799
09-11-24 조회 4,268
09-11-19 조회 3,127
09-11-11 조회 3,732
09-08-30 조회 3,214
09-08-12 조회 3,223
09-07-21 조회 3,381
09-07-19 조회 3,265
09-07-11 조회 3,192
09-06-15 조회 2,966
09-05-29 조회 3,130
09-05-28 조회 3,570
09-05-05 조회 3,444
09-04-07 조회 3,652
09-02-23 조회 4,441
09-02-17 조회 3,180
09-02-17 조회 2,557
09-02-09 조회 2,666
09-01-23 조회 3,476
09-01-17 조회 4,301
09-01-08 조회 3,246
08-11-07 조회 4,516
08-11-01 조회 4,991
08-10-30 조회 3,585
08-10-16 조회 3,511
08-10-02 조회 2,654
08-09-22 조회 3,982
08-09-22 조회 2,948
08-09-20 조회 5,440
08-09-20 조회 4,515
08-09-20 조회 3,600
08-09-20 조회 2,975
08-09-20 조회 3,172
08-09-20 조회 4,153
08-09-20 조회 3,654
08-09-20 조회 3,241
08-09-18 조회 3,500
08-09-06 조회 3,083
08-09-06 조회 2,829
08-09-05 조회 3,486
08-09-05 조회 5,697
08-09-03 조회 4,498
08-09-03 조회 2,755
08-07-31 조회 3,216
08-07-18 조회 3,815
08-06-19 조회 3,158
08-06-15 조회 3,151
08-06-14 조회 3,610
08-05-23 조회 2,849
08-05-13 조회 2,748
08-04-22 조회 4,428
08-04-22 조회 5,144
08-04-22 조회 6,904
08-04-17 조회 3,042
08-04-17 조회 3,656
08-04-17 조회 3,731
08-04-17 조회 5,987
08-04-17 조회 3,185
08-04-17 조회 3,510
08-04-06 조회 3,572
08-04-05 조회 3,156
08-04-04 조회 7,212
08-04-04 조회 4,500
08-04-04 조회 3,854
08-04-04 조회 4,043
08-04-04 조회 2,923
08-04-04 조회 2,706
08-04-04 조회 2,744
08-04-04 조회 2,956
08-04-04 조회 2,694
08-04-04 조회 2,678
08-04-04 조회 4,184
08-04-03 조회 2,727
08-04-03 조회 3,932
08-04-02 조회 3,139
08-04-02 조회 2,874
08-03-25 조회 3,734
08-03-11 조회 3,494
08-03-11 조회 2,992
08-03-11 조회 2,953
08-03-11 조회 2,754
08-03-11 조회 2,531
08-03-11 조회 2,332
08-03-11 조회 2,400
08-03-07 조회 2,963
08-03-05 조회 2,679
08-02-27 조회 2,933
08-02-21 조회 2,800
08-02-21 조회 3,359