首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从oracle中的重复行中选择两个不同列的唯一值

从oracle中的重复行中选择两个不同列的唯一值
EN

Stack Overflow用户
提问于 2019-02-05 17:48:51
回答 2查看 43关注 0票数 0

表1

代码语言:javascript
复制
school_Name Student_Name Class_ID    
AMM          joe         AMM-1-1-1
AMM          joe         AMM-1-1-2
AMM          Adam        AMM-1-1-1
AMM          Adam        AMM-1-1-2
AMM          Nancy       AMM-1-2-1
AMM          Nancy       AMM-1-2-2
AMM          Albert      AMM-1-2-1
AMM          Albert      AMM-1-2-2
IRB          Frank       IRB-1-1-1
IRB          Frank       IRB-1-1-2
IRB          Mike        IRB-1-1-1
IRB          Mike        IRB-1-1-2

您好,我在oracle中有上面类似的表格,并试图选择唯一的class_id (1)作为该校学生姓名的第一个匹配。有谁能帮帮忙。

select语句的预期输出如下:

结果

代码语言:javascript
复制
school_Name Student_Name Class_ID    
AMM          joe         AMM-1-1-1
AMM          Adam        AMM-1-1-2
AMM          Nancy       AMM-1-2-1
AMM          Albert      AMM-1-2-2
IRB          Frank       IRB-1-1-1
IRB          Mike        IRB-1-1-2

已在下面尝试,但仍未按预期工作。

代码语言:javascript
复制
select 
  school_name,
  student_name,
  class_id, 
from 
(
  select
    school_name,
    student_name,
    class_id,
    row_number() over (partition by class_id order by student_name ASC) rn
  from studentdata_view
) where rn = 1;
EN

回答 2

Stack Overflow用户

发布于 2019-02-05 17:51:40

您需要更改分区by子句,同时删除了第一个之前的多余逗号

代码语言:javascript
复制
select school_name,student_name,class_id from 
(
   select school_name,student_name,class_id, row_number() over (partition by 
   school_name,student_name order by class_id ASC) rn from studentdata_view
)A where rn = 1;
票数 0
EN

Stack Overflow用户

发布于 2019-02-05 17:58:14

查询中的逗号过多:

代码语言:javascript
复制
select 
  school_name,
  student_name,
  class_id -- <=== it was here; I removed it 
from 
(
  select
    school_name,
    student_name,
    class_id,
    row_number() over (partition by class_id order by student_name ASC) rn
  from studentdata_view
) where rn = 1;

我还在partition by子句中将full_class_id更改为class_id

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54531586

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档