超过5名学生的课

有一个courses 表 ,有: student (学生) 和 class (课程)。

请列出所有超过或等于5名学生的课。

例如,表:

+---------+------------+
| student | class      |
+---------+------------+
| A       | Math       |
| B       | English    |
| C       | Math       |
| D       | Biology    |
| E       | Math       |
| F       | Computer   |
| G       | Math       |
| H       | Math       |
| I       | Math       |
+---------+------------+

应该输出:

+---------+
| class   |
+---------+
| Math    |
+---------+

Note:
学生在每个课中不应被重复计算。

 第一种:

select classfrom courses group by class having count(distinct student)>=5

执行代码:

第二种:

select class from (select class,count(distinct student) as nums from courses group by class)b
where nums>=5

输出:

原文地址:https://www.cnblogs.com/ConnorShip/p/10159239.html

时间: 2024-11-05 23:38:20

超过5名学生的课的相关文章

力扣——超过5名学生的课(数据库的题

有一个courses 表 ,有: student (学生) 和 class (课程). 请列出所有超过或等于5名学生的课. 例如,表: +---------+------------+ | student | class | +---------+------------+ | A | Math | | B | English | | C | Math | | D | Biology | | E | Math | | F | Computer | | G | Math | | H | Math

596. 超过5名学生的课

题目描述 有一个courses 表 ,有: student (学生) 和 class (课程). 请列出所有超过或等于5名学生的课. 例如,表: +---------+------------+ | student | class | +---------+------------+ | A | Math | | B | English | | C | Math | | D | Biology | | E | Math | | F | Computer | | G | Math | | H |

数据库专题-leetcode596. 超过5名学生的课

题目及分析 题目 分析 请列出所有超过或等于5名学生的课 1.需要计算某一门课的student数量 group by 然后count 2.student数量大于或等于5 需要对聚合函数进行进一步的筛选 having 注意:题目最下面的提示也说了学生在每个课中不应被重复计算,也就是表中的记录可能出现相同的学生和课程几条数据.所以需要对学生也要去重.开始没注意到,忘记去重了. 3.可能会出现多条sutdent对应class的记录.所以需要对分组后的student字段进行去重 distinct 结果示

LeetCode 596. Classes More Than 5 Students (超过5名学生的课)

题目标签: 题目给了我们 courses 表格,让我们找到 一个有至少5名学生的班级. 利用group by 把班级分类,在用Having count 来判断是否有5名,注意这里还需要用 distinct 来判断是否有重复的学生在同一个班级里. Java Solution: Runtime:  205 ms, faster than 51.77% Memory Usage: N/A 完成日期:07/02/2019 关键点:GROUP BY && HAVING count # Write y

使用文档对象在页面上创建学生信息表。 信息表包括学号、姓名、性别、电子邮件、联系电话、个人主页和联系地址, 信息表内容通过表单输入,提交前先使用正则表达式进行验证,联系地址不能超过20个字符, 每输入一名学生的信息,提交后,表格增加一行,表格不能被选择、复制。

<!DOCTYPE html><html>    <head>        <meta charset="UTF-8">        <title></title>    </head>    <!--        描述:使用文档对象在页面上创建学生信息表.        信息表包括学号.姓名.性别.电子邮件.联系电话.个人主页和联系地址,        信息表内容通过表单输入,提交前先使用

第十四周 【项目2-用文件保存的学生名单】若干名学生的学号 姓名和C++课、高数和英语成绩

运行代码: /* *Copyright (c)2014,烟台大学计算机与控制工程学院 *All rights reserved. *文件名称:d.cpp *作 者:张旺华 *完成日期:2015年6月3日 *版 本 号:v1.0 */ /* *[项目2-用文件保存的学生名单] * 文件score.dat中保存的是若干名学生的学号 姓名和C++课.高数和英语成绩. */ #include <fstream> #include<iostream> #include<string&g

c语言:写一个函数建立一个有3名学生数据的单向动态链表

写一个函数建立一个有3名学生数据的单向动态链表. 解:程序: #include<stdio.h> #include<stdlib.h> #define LEN sizeof(struct Student) struct Student { long num; float score; struct Student *next; }; int n; struct Student *creat(void)//定义函数返回一个指向链表头的指针 { struct Student *head

Java-第十四章-代参的方法(二)-编程实现,输入班里10名学生的身高,获得身高最高的学生要求对象数组类型方法

package com.ww.yzpA; public class Students { int No; int Height; } package com.ww.yzpA; public class Height { public Students getMaxHeigth(Students[] str) { Students A = new Students(); for (int i = 0; i < str.length; i++) { if (str[i].Height > A.He

键盘录入多名学生的信息: 格式:姓名,数学成绩,语文成绩,英文成绩,按总分由高到低 将学生的信息进行排列到文件中

主函数类: package cn.io; import java.io.File; import java.io.IOException; import java.util.Collection; import java.util.Collections; import java.util.Comparator; import java.util.Set; public class iosort { /** * @param args * @throws IOException */ /* *