【LeetCode题库】2356. 每位教师所教授的科目种类的数量

文章目录

  • 原题
  • 题解
  • 解题笔记

我是一名立志把细节说清楚的博主,欢迎【关注】 ~

原创不易, 如果有帮助 ,记得【点赞】【收藏】 哦~ ❥(^_-)~

如有错误、疑惑,欢迎【评论】指正探讨,我会尽可能第一时间回复的,谢谢支持


原题

表: 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。

题解

SELECT teacher_id, count( DISTINCT subject_id) AS cnt FROM Teacher GROUP BY teacher_id;

解题笔记

  • COUNT() 函数,计算符合条件的数据数量。
  • DISTINCT 关键字,
    • 关键字详解请看文章:【MySQL】查询数据,过滤重复结果数据(关键字:DISTINCT)
  • AS 关键字,给表、列起别名。
  • GROUP BY 关键字,按指定字段名称分组。
    • 关键字详解请看文章:【MySQL】数据分组(关键字:GROUP BY)过滤分组(关键字:HAVING)

我是一名立志把细节说清楚的博主,欢迎【关注】 ~

原创不易, 如果有帮助 ,记得【点赞】【收藏】 哦~ ❥(^_-)~

如有错误、疑惑 ,欢迎【评论】指正探讨,我会尽可能第一时间回复的,谢谢支持

你可能感兴趣的:(LeetCode题库,leetcode,算法,mysql,sql,数据库)