问候!任何人都可以帮我解决这个问题
表:课程
Course id Course_Name Faculty
C001 Engineering Computers
C002 Engineering Electronics
C003 Medicine Cardiology
C004 Medicine Neurology
我的要求是,我需要显示课程名称和Couse id,没有重复
我的预期结果应该是:
C001->工程。
C003->医药。
如果我在查询中使用distinct而没有得到预期的结果,那么任何人都可以提供解决方案,我在oracle 9i的初级阶段。
先谢谢。
答案 0 :(得分:0)
假设您希望每个课程名称的“最低”(由于NLS语言和排序设置而不是简单的定义)课程ID:
select min(course_id) as course_id, course_name
from course
group by course_name;
看起来像一个奇怪的要求 - 同样的课程有两个ID听起来不对,即使他们在不同的院系,你基本上选择一个随机的教师;但不像在9i上学习那么奇怪。为什么不学习当前支持的版本? 11gR2免费供个人使用。
以下是当前版本中的documentation for aggregate functions,包括min
;和9i version如果你真的想坚持下去。
答案 1 :(得分:0)
你需要一个聚合: 由于“Course_name”组有多个映射,因此无论如何都可以使用哪个映射。
select max('Course id'), 'Course_Name' from Course group by Course_Name