oracle小学生。现在有这样一个问题,请各位帮忙。比如有如下数据
column1     column2       column3
microsoft     windowsxp      300
apple         macos          100
microsoft     office         300
apple         iphone         600
sun           solaris        200
microsoft     visualstudio   900我想把凡是同一家公司(比如microsoft),column3相同的公司取出来,(比如第一行和第三行)。
怎样写这个查询呢?不知表述清不清楚。

解决方案 »

  1.   

    select * from table where (col1,col3) in (select col1,col3 from table group by col1,col3 having count(*)>1)
      

  2.   

    这个好像只是判断重复大于1次的号码,还有一个要求是column3的值相同。
      

  3.   

    那个sql是返回col1和col3重复出现的记录,是按col1,col3分组的
      

  4.   

    group by column3
    having count(*)>1 這些就是根據column3重复的
      

  5.   

    select *
      from tb a
     where (a.col1, a.col3) in
           (select col1, col3
              from tb a
             where rowid > (select min(rowid)
                              from tb
                             where tb.col1 = a.col1
                               and tb.col3 = a.col3))
      

  6.   


    select * from temp d
    where d.rowid
    not in(
    select min(rowid)
    from temp t 
    group by t.column1,t.column3)
      

  7.   

    谢谢大家啊,昨天用superhsj的方法解决了,我把分给他吧,大家别有意见啊。