mysql - 具有比较日期的嵌套子查询

标签 mysql sql

这是对的吗?我觉得我的逻辑在这里是错误的,但我需要列出比“IT”部门注册的至少一名学生晚开始学习的学生。

SELECT studentid, year
FROM enrolled, course
WHERE program = 'IT' and year >= ALL (
      SELECT year FROM enrolled);


enrolled(studentid, courseID, year)
course(courseid, department)

我相信除了where部分之外一切都是正确的

<小时/>

抱歉,我给出了错误的架构,它应该来自

学生(sid,开始,程序)

但我相信它现在可以用了,谢谢

SELECT sid, started
FROM student 
WHERE started > (
  SELECT MIN(started)
  FROM student
  WHERE program = 'IT');

最佳答案

分步骤进行

第一个进入“IT”的学生(猜测有一个名为program的栏目)

SELECT MIN(year)
FROM enrolled
WHERE program = 'IT'

列出入学时间晚于至少一名就读“IT”系的学生的学生。

SELECT studentid, year
FROM enrolled 
WHERE year > (
  SELECT MIN(year)
  FROM enrolled
  WHERE program = 'IT'
)

关于mysql - 具有比较日期的嵌套子查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40027904/

相关文章:

sql - PostgreSQL Group By A,但仍拉取B字段

php - 如何使用php将重音字母输入到mysql数据库中?

mysql - 在 MySQL 中恢复 root 密码 (XAMPP)

mysql - 如何对单个空格进行字符串比较

MySQL - 如何在 Update 语句中将字符串值解析为 DATETIME 格式?

sql - Oracle 链接服务器 Top N 语法

sql - 从日期范围生成天数

mysql - SUM 给出不正确的输出

mysql - 从表中选择最适合特定区域设置的行

mysql - 使用 IMDbPY 脚本导入 IMDb 文件时出现内存错误