目录
题目
查询每位老师在大学里教授的科目种类的数量。
准备数据
sql
## 创建库
create database db;
use db;
## 创建表
Create table If Not Exists Teacher (teacher_id int, subject_id int, dept_id int)
## 向表中插入数据
Truncate table Teacher
insert into Teacher (teacher_id, subject_id, dept_id) values ('1', '2', '3')
insert into Teacher (teacher_id, subject_id, dept_id) values ('1', '2', '4')
insert into Teacher (teacher_id, subject_id, dept_id) values ('1', '3', '3')
insert into Teacher (teacher_id, subject_id, dept_id) values ('2', '1', '1')
insert into Teacher (teacher_id, subject_id, dept_id) values ('2', '2', '1')
insert into Teacher (teacher_id, subject_id, dept_id) values ('2', '3', '1')
insert into Teacher (teacher_id, subject_id, dept_id) values ('2', '4', '1')
分析数据
教师 1:
他在 3、4 系教科目 2。
他在 3 系教科目 3。
教师 2:
他在 1 系教科目 1。
他在 1 系教科目 2。
他在 1 系教科目 3。
他在 1 系教科目 4。
sql
select teacher_id,
count(distinct subject_id) cnt
from teacher
group by teacher_id;
总结
去除重复值使用distinct