力扣——超过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:
学生在每个课中不应被重复计算。

# Write your MySQL query statement below
select class from( select class from courses group by class,student )a group by class having count(class) >= 5

原文地址:https://www.cnblogs.com/JAYPARK/p/10346958.html

时间: 2024-10-13 02:17:41

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

力扣——超过经理收入的员工(数据库的题

Employee 表包含所有员工,他们的经理也属于员工.每个员工都有一个 Id,此外还有一列对应员工的经理的 Id. +----+-------+--------+-----------+ | Id | Name | Salary | ManagerId | +----+-------+--------+-----------+ | 1 | Joe | 70000 | 3 | | 2 | Henry | 80000 | 4 | | 3 | Sam | 60000 | NULL | | 4 | M

超过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

力扣——第N高的薪水(数据库的题

编写一个 SQL 查询,获取 Employee 表中第 n 高的薪水(Salary). +----+--------+ | Id | Salary | +----+--------+ | 1 | 100 | | 2 | 200 | | 3 | 300 | +----+--------+ 例如上述 Employee 表,n = 2 时,应返回第二高的薪水 200.如果不存在第 n 高的薪水,那么查询应返回 null. +------------------------+ | getNthHighe

力扣(LeetCode)学生出勤记录I 个人题解

给定一个字符串来代表一个学生的出勤记录,这个记录仅包含以下三个字符: 'A' : Absent,缺勤 'L' : Late,迟到 'P' : Present,到场 如果一个学生的出勤记录中不超过一个'A'(缺勤)并且不超过两个连续的'L'(迟到),那么这个学生会被奖赏. 你需要根据这个学生的出勤记录判断他是否会被奖赏. 示例 1: 输入: "PPALLP" 输出: True 示例 2: 输入: "PPALLL" 输出: False 做法比较清晰,当A的次数大于1时,

JS数据结构第六篇 --- 二叉树力扣练习题

1.第226题:翻转二叉树 递归+迭代两种实现方式: /** 反转二叉树 * Definition for a binary tree node. * function TreeNode(val) { * this.val = val; * this.left = this.right = null; * } */ /** * @param {TreeNode} root * @return {TreeNode} * 第一种方式迭代 * 执行用时 :72 ms, 在所有 JavaScript 提

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

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