oracle – 怎样查找具有沟通(某些x值)值的列一再多次?必要返回
发布时间:2021-05-17 03:53:50 所属栏目:站长百科 来源:网络整理
导读:有一个名为接洽人的表,个中包括列id,名称,地点,ph_no等. 我必要查找具有沟通名称的行,假如行数大于1,则表现这些行. 譬喻: 表:接洽人 id--------name--------address---------ph_no--------111 apple U.K 99*******112 banana U.S 99*******123 grape INDIA
有一个名为接洽人的表,个中包括列id,名称,地点,ph_no等.
譬喻: id--------name--------address---------ph_no-------- 111 apple U.K 99******* 112 banana U.S 99******* 123 grape INDIA 99******* 143 orange S.AFRICA 99******* 152 grape KENYA 99******* 对付上面的表,我必要得到具有沟通列名数据的行,如下所示: id--------name--------address---------ph_no-------- 123 grape INDIA 99******* 152 grape KENYA 99******* 我必要按照我给出的名称来获取行,如下面的示例语法: select * from contacts where name='grape' and it's count(*) >1 return those rows. 怎样实现上述题目的办理方案. 正如@ vc74所体现的那样,说明函数在这里事变得更好;出格是假如您的数据有任何数目.select id,name,address,ph_no ... from ( select c.*,count(name) over ( partition by name ) as name_ct from contacts c ) where name_ct > 1 ; 编辑 限定特命名称表接洽人应该在名称上有一个索引,查询将如下所示: select id,count(name) over ( partition by name ) as name_ct from contacts c where name = 'grape' ) where name_ct > 1 ; (编辑:湖南网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |