1 回答

TA貢獻1895條經驗 獲得超7個贊
建2張表:
student 學生表:
CREATE TABLE student
(id
int(11) unsigned NOT NULL AUTO_INCREMENT,name
varchar(255) NOT NULL,sex
tinyint(3) NOT NULL DEFAULT '0',
PRIMARY KEY (id
)
) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8mb4;
id name sex
1 aaa 0
2 bbb 0
3 ccc 1
4 ddd 1
5 eee 0
score 分數表:
CREATE TABLE student
(id
int(11) unsigned NOT NULL AUTO_INCREMENT,name
varchar(255) NOT NULL,sex
tinyint(3) NOT NULL DEFAULT '0',
PRIMARY KEY (id
)
) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8mb4;
id s_id item_id score
1 1 1 56
2 1 2 52
3 1 3 29
4 2 1 52
5 2 2 61
6 2 3 62
7 3 1 63
8 3 2 74
9 3 3 52
10 4 1 83
11 4 2 62
12 4 3 93
13 5 1 42
14 5 2 52
25 5 3 83
sql語句:
每個學生所有學科的總分,平均分,最高,最低。
SELECT SUM(score), AVG(score),MAX(score),MIN(score) ,s.s_id ,u.name
from score s LEFT JOIN student u
ON s.s_id = u.id
group by s.s_id;
每個學科的總分,平均分,最高,最低。
SELECT SUM(score), AVG(score),MAX(score),MIN(score) ,s.item_id from score s
group by s.item_id;
添加回答
舉報