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

相关推荐
翔云1234561 小时前
RocksDB中,客户端每写入一次数据,需要访问几次磁盘
运维·数据库·mysql
DevOpenClub1 小时前
职教高考控制线 API:招生类别枚举、筛选与空分数含义
java·数据库·高考
zhaoshuzhaoshu2 小时前
Android 系统启动与调试中的日志抓取方式全解析
android
GeW2 小时前
新质生产力路线图解读:数据库性能优化与Linux调优专场
linux·数据库
雨声不在3 小时前
android 动画掉帧
android
在多学一点4 小时前
MYSQL第二次作业
android·数据库·mysql
yeccheng4 小时前
MySQL 索引超详解:从底层 B+ 树到面试高频考点
java·开发语言·jvm·mysql·面试
Risehuxyc4 小时前
Microsoft.Data.Sqlite体验
数据库·sqlite
骑着蜗牛撵大象3274 小时前
MySQL 8.0 迁移后 SQL 变慢:执行计划里 3 类被忽略的成本差异
android·数据库·sql·mysql·优化器·执行计划
我叫张土豆5 小时前
Android 14+ 模拟器抓包实录:把 Burp CA 装成系统 CA,让 targetSdk≥34 的 App 乖乖解密
android