题目 
表: Teacher
| Column Name | Type | 
|---|---|
| teacher_id | int | 
| subject_id | int | 
| dept_id | int | 
在 SQL 中,(subject_id, dept_id) 是该表的主键。 该表中的每一行都表示带有 teacher_id 的教师在系 dept_id 中教授科目 subject_id。
查询每位老师在大学里教授的科目种类的数量。
以 任意顺序 返回结果表。
查询结果格式示例如下。
示例 1:
输入: Teacher 表:
| teacher_id | subject_id | dept_id | 
|---|---|---|
| 1 | 2 | 3 | 
| 1 | 2 | 4 | 
| 1 | 3 | 3 | 
| 2 | 1 | 1 | 
| 2 | 2 | 1 | 
| 2 | 3 | 1 | 
| 2 | 4 | 1 | 
输出:
| teacher_id | cnt | 
|---|---|
| 1 | 2 | 
| 2 | 4 | 
解释:
- 教师 1: - 他在 3、4 系教科目 2。
- 他在 3 系教科目 3。
 
- 教师 2: - 他在 1 系教科目 1。
- 他在 1 系教科目 2。
- 他在 1 系教科目 3。
- 他在 1 系教科目 4。
 
题解 
sql
SELECT `teacher_id`, COUNT(DISTINCT `subject_id`) AS `cnt`
FROM `Teacher`
GROUP BY `teacher_id`1
2
3
2
3