MySQL基础练习题38-每位教师所教授的科目种类的数量

目录

题目

准备数据

分析数据

总结


题目

查询每位老师在大学里教授的科目种类的数量。

准备数据

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

相关推荐
东软吴彦祖12 分钟前
包安装利用 LNMP 实现 phpMyAdmin 的负载均衡并利用Redis实现会话保持nginx
linux·redis·mysql·nginx·缓存·负载均衡
五味香25 分钟前
Java学习,查找List最大最小值
android·java·开发语言·python·学习·golang·kotlin
慵懒的猫mi1 小时前
deepin分享-Linux & Windows 双系统时间不一致解决方案
linux·运维·windows·mysql·deepin
小高不明2 小时前
仿 RabbitMQ 的消息队列2(实战项目)
java·数据库·spring boot·spring·rabbitmq·mvc
DZSpace2 小时前
使用 Helm 安装 Redis 集群
数据库·redis·缓存
张飞光2 小时前
MongoDB 创建集合
数据库·mongodb
Hello Dam2 小时前
接口 V2 完善:基于责任链模式、Canal 监听 Binlog 实现数据库、缓存的库存最终一致性
数据库·缓存·canal·binlog·责任链模式·数据一致性
张飞光2 小时前
MongoDB 创建数据库
数据库·mongodb·oracle
摘星怪sec3 小时前
【漏洞复现】|方正畅享全媒体新闻采编系统reportCenter.do/screen.do存在SQL注入
数据库·sql·web安全·媒体·漏洞复现
基哥的奋斗历程3 小时前
学到一些小知识关于Maven 与 logback 与 jpa 日志
java·数据库·maven