加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

oracle 多字段去重查询

发布时间:2020-12-12 13:32:25 所属栏目:百科 来源:网络整理
导读:? oracle 多字段去重查询 CreationTime--2018年6月29日15点11分 Author:Marydon 1.情景展示 需要对表BASE_MRI_DEVICE的COMPNAME、FIELDSTR、VERSION字段分别进行去重查询,如何使用一个sql搞定? 2.需求分析 注意:是分别对3个字段进行去重,而不是3个字段联
?

oracle 多字段去重查询

CreationTime--2018年6月29日15点11分

Author:Marydon

1.情景展示

  需要对表BASE_MRI_DEVICE的COMPNAME、FIELDSTR、VERSION字段分别进行去重查询,如何使用一个sql搞定?

2.需求分析

  注意:是分别对3个字段进行去重,而不是3个字段联合去重。

  首先,必须进行三次查询,而将查询结果进行"行合并"需要用到union或union all;

  其次,为了区分查询结果属于哪个字段,所以需要3列,

  同时,为了保证每次查询只对一个字段进行去重查询,可以将另外2个字段置空。

3.代码实现

  方式一:使用group by(数据库通用)

--对COMPNAME、FIELDSTR、VERSION进行去重查询
SELECT *
  FROM (SELECT COMPNAME,‘‘ FIELDSTR,‘‘ VERSION
          FROM BASE_MRI_DEVICE
        UNION ALL
        SELECT ‘‘ COMPNAME,FIELDSTR,‘‘ FIELDSTR,VERSION
          FROM BASE_MRI_DEVICE)
 GROUP BY COMPNAME,VERSION

  方式二:使用distinct(Oracle独有)

--对COMPNAME、FIELDSTR、VERSION进行去重查询
SELECT DISTINCT COMPNAME,‘‘ VERSION
  FROM BASE_MRI_DEVICE
UNION ALL
SELECT DISTINCT ‘‘ COMPNAME,VERSION
  FROM BASE_MRI_DEVICE

4.效果展示

  方式一

  方式二

?

?相关推荐:

  • Oracle 去重查询

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读