SQLPLUS ORACLE select语句

SQLPLUS ORACLE select语句,sql,oracle,Sql,Oracle,列出学生编号、科目代码、年份和学期 世卫组织在2012年第3期课程中只注册了一个科目 SELECT StudentNum, RSubjectCode, Year, SessionTerm FROM <TABLE> WHERE Year ='2012' AND SESSIONTERM = '3'; 选择StudentNum、rssubjectcode、Year、SessionTerm 从…起 哪里是2012年 和SESSIONTERM='3'; 这将选择2012年和第3

列出学生编号、科目代码、年份和学期 世卫组织在2012年第3期课程中只注册了一个科目

SELECT StudentNum, RSubjectCode, Year, SessionTerm 
 FROM <TABLE> 
WHERE Year ='2012' 
  AND SESSIONTERM = '3';
选择StudentNum、rssubjectcode、Year、SessionTerm
从…起
哪里是2012年
和SESSIONTERM='3';

这将选择2012年和第3课时的所有人。我如何才能找到只注册了一门学科的学生?

按学生人数、年份和课时期限分组。这样,您就可以计算记录数,只返回有一条记录的记录。由于该分组,您需要获取主题代码的最大值(或最小值)。最大1条记录将是唯一的记录,因此结果将是正确的,并且查询将是快速的,即使它看起来可能很奇怪

SELECT 
  StudentNum, 
  max(RSubjectCode) as RSubjectCode, 
  Year, 
  SessionTerm 
FROM 
  <TABLE> 
WHERE 
  Year ='2012' 
  AND SESSIONTERM = '3'
GROUP BY
  StudentNum, 
  Year, 
  SessionTerm 
HAVING
  count(*) = 1
选择
学生人数,
最大值(RSSubjectCode)作为RSSubjectCode,
年,
会话项
从…起
哪里
2012年
而SESSIONTERM='3'
分组
学生人数,
年,
会话项
有
计数(*)=1

按学生人数、年份和学期分组。这样,您就可以计算记录数,只返回有一条记录的记录。由于该分组,您需要获取主题代码的最大值(或最小值)。最大1条记录将是唯一的记录,因此结果将是正确的,并且查询将是快速的,即使它看起来可能很奇怪

SELECT 
  StudentNum, 
  max(RSubjectCode) as RSubjectCode, 
  Year, 
  SessionTerm 
FROM 
  <TABLE> 
WHERE 
  Year ='2012' 
  AND SESSIONTERM = '3'
GROUP BY
  StudentNum, 
  Year, 
  SessionTerm 
HAVING
  count(*) = 1
选择
学生人数,
最大值(RSSubjectCode)作为RSSubjectCode,
年,
会话项
从…起
哪里
2012年
而SESSIONTERM='3'
分组
学生人数,
年,
会话项
有
计数(*)=1

你应该为你的问题想出一个更好的标题。那一个完全没用。你应该为你的问题想出一个更好的标题。那个完全没用