oracle 查询字段值重复sql语句

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了oracle 查询字段值重复sql语句相关的知识,希望对你有一定的参考价值。

表 A 字段 b 想查询 b 字段有重复的数据。

参考技术A 你是要在一个查询里,一次查询出但凡是字段值重复的列,不知道我是否理解正确了。
select t.字段1,'' 字段2,...,'' 字段n
from t1 t
group by t.字段1
having count(t.字段1)>1
union all
select '' 字段1,t.字段2,...,'' 字段n
from t1 t
group by t.字段2
having count(t.字段2)>1
union all
...
union all
select '' 字段1,'' 字段2,...,t.字段n
from t1 t
group by t.字段n
having count(t.字段n)>1;
参考技术B 1 如果表a 还有其他字段,比如字段c,c可以做主键,保证a表记录重复,如果没有C,自行添加c字段做表a主键
2 select *
from a a1, a a2
where a1.b=a2.b and a1.c<>a2.c
参考技术C select * from a where b in (select b from a group by b having count(*)>1) 参考技术D select b
from A
group by b
having count (*)>1本回答被提问者采纳
第5个回答  2011-08-27 select * from A where b in(select b from A group by b having count(b)>1);
刚亲自试过的。

Sql语句查询某列A相同值的另一列B最大值的数据

问题描述:

  有一张表File_Info,有若干字段,其中有2个字段FileName(文件名称)和FileVer(文件版本号)。

  现在的表数据是这样的,FileName字段的名称可能有一样的(重复的),但是重复的时候,它们对应的FileVer不一样。

 

查询结果:

  要求查询出FileName字段重复时,FileVer值最大的所有数据。

 

SQL语句如下:

1 SELECT *
2 FROM(
3     SELECT *,ROW_NUMBER() OVER(PARTITION BY FileName ORDER BY FileVer DESC) Num FROM File_Info
4     WHERE ModuleDataId=0B01DACC-27EC-4689-930B-088FC4E07A7A
5 ) t
6 WHERE t.Num=1

 

查询前后效果如下:

技术分享

技术分享

以上是关于oracle 查询字段值重复sql语句的主要内容,如果未能解决你的问题,请参考以下文章

oracle数据库中如何用sql语句查出重复字段以及如何删除?

Oracle 查询并删除重复记录的SQL语句

sql语句中如何一个字段对查询出的多个值添加判断条件

如何用sql 语句查找一个表里的两个字段重复的记录

急急急,Sql查询一个字段是不是存在某一个值,怎么写查询语句?

SQL语句取某一字段的唯一性