듀

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건
+
제목 글쓴이 날짜 조회
08-10-30 조회 2,713
08-10-30 조회 2,812
08-10-20 조회 2,541
08-10-11 조회 2,447
08-09-20 조회 4,187
08-09-20 조회 2,858
08-09-18 조회 2,743
08-09-18 조회 3,438
08-09-17 조회 3,303
08-09-05 조회 4,640
08-09-03 조회 2,775
08-08-18 조회 2,900
08-08-17 조회 2,639
08-08-13 조회 3,420
08-07-30 조회 3,483
08-07-28 조회 4,359
08-07-22 조회 5,589
08-07-22 조회 4,076
08-07-10 조회 3,045
08-07-08 조회 3,107
08-06-30 조회 3,867
08-06-30 조회 3,350
08-06-30 조회 3,668
08-06-14 조회 2,741
08-06-11 조회 7,103
08-06-05 조회 3,317
08-05-20 조회 4,830
08-05-13 조회 4,172
08-05-08 조회 3,125
08-05-08 조회 5,280
08-04-25 조회 4,075
08-04-22 조회 4,544
08-04-21 조회 3,188
08-04-17 조회 2,570
08-04-17 조회 2,969
08-04-17 조회 2,268
08-04-17 조회 5,236
08-04-17 조회 4,555
08-04-17 조회 4,550
08-04-17 조회 3,333
08-04-17 조회 3,157
08-04-17 조회 3,642
08-04-17 조회 5,004
08-04-17 조회 5,150
08-04-17 조회 3,357
08-04-04 조회 4,619
08-04-04 조회 2,849
08-04-04 조회 2,591
08-04-04 조회 2,818
08-04-04 조회 2,552
08-04-04 조회 2,796
08-04-03 조회 2,681
08-04-03 조회 2,753
08-04-02 조회 3,064
08-04-02 조회 3,220
08-03-31 조회 3,108
08-03-26 조회 4,286
08-03-11 조회 2,973
08-03-11 조회 2,383
08-03-11 조회 2,395
08-03-07 조회 4,231
08-03-07 조회 3,323
08-03-06 조회 4,771
08-03-04 조회 3,401
08-02-19 조회 3,797
08-02-03 조회 3,420
08-01-18 조회 4,006
08-01-15 조회 3,456
08-01-12 조회 4,301
08-01-12 조회 3,870
08-01-12 조회 3,825
07-12-24 조회 3,118
07-11-30 조회 3,961
07-11-08 조회 5,019
07-11-06 조회 3,871
07-10-26 조회 5,013
07-10-24 조회 4,199
07-10-22 조회 3,585
07-10-19 조회 4,771
07-10-09 조회 4,904
07-10-09 조회 6,769
07-10-05 조회 3,104
07-10-05 조회 4,041
07-10-03 조회 7,548
07-10-03 조회 3,595
07-10-03 조회 2,945
07-10-03 조회 2,873
07-09-28 조회 4,716
07-09-27 조회 3,781
07-09-27 조회 3,230
07-09-13 조회 3,383
07-08-28 조회 3,463
07-08-04 조회 4,851
07-08-01 조회 5,545
07-08-01 조회 4,948
07-07-30 조회 5,470
07-07-29 조회 3,614
07-07-21 조회 3,434
07-07-18 조회 5,393
07-07-16 조회 3,188