weixin_43373344
2021-06-17 12:34
采纳率: 41.7%
浏览 44

oracle中的sql查询,怎么使用distinct先做多个字段的拼接再去重?

例如:a、b表中均有学生姓名、学生性别、学生年龄字段。现对于同时满足这三个条件的学生进行去重查询,查出一共有多少学生。怎样写sql

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

3条回答 默认 最新

  • 清枫cc 2021-06-17 16:56
    已采纳
    -- union会去除重复行,union all不会去重,只是合并.
    select count(1) from
    (select
    
        a.name,
    
        a.gender,
    
        a.age 
    
    from a
    
    union
    
    select
    
        b.name,
    
        b.gender,
    
        b.age 
     
    from b
    )
    点赞 打赏 评论
  • 王大师王文峰 2021-06-17 14:13

    望采纳,谢谢!

    SELECT COUNT(1) AS 一共有的学生数量 from(SELECT DISTINCT(a.学生姓名,a.学生性别,a.学生年龄) from  学生  a) 
    点赞 打赏 评论
  • 清枫cc 2021-06-17 17:10
    -- 或着试下这种
    select count(1) from 
      (select distinct a.name,a.gender,a.age from
        (select
    
           a.name,
    
           a.gender,
     
           a.age 
          
        from a
    
        union all
    
        select
    
           b.name,
    
           b.gender,
       
            b.age 
     
         from b
       )
    )
    点赞 打赏 评论

相关推荐 更多相似问题