相关疑难解决方法(0)

在列中查找重复条目

我正在编写此查询以查找table1中的重复CTN记录.所以我的想法是,如果CTN_NO出现超过两次或更高,我希望它在我的SELECT*语句输出中显示在顶部.

我尝试了以下子查询逻辑,但我需要拉动

  SELECT *
         table1 
   WHERE S_IND='Y'
     and CTN_NO = (select CTN_NO 
                     from table1 
                    where S_IND='Y' 
                      and count(CTN_NO) < 2);
order by 2
Run Code Online (Sandbox Code Playgroud)

sql oracle subquery

41
推荐指数
1
解决办法
11万
查看次数

SQL:如何根据两个字段查找重复项?

我在Oracle数据库表中有行,对于两个字段的组合应该是唯一的,但是没有在表上设置唯一约束,所以我需要使用SQL找到所有违反约束的行.不幸的是,我的微薄SQL技能无法胜任.

我的表有三列相关:entity_id,station_id和obs_year.对于每一行,station_id和obs_year的组合应该是唯一的,我想通过SQL查询将它们刷出来查明是否存在违反此行的行.

我尝试了以下SQL(由前一个问题提出),但它对我不起作用(我得到ORA-00918列模糊定义):

SELECT
entity_id, station_id, obs_year
FROM
mytable t1
INNER JOIN (
SELECT entity_id, station_id, obs_year FROM mytable 
GROUP BY entity_id, station_id, obs_year HAVING COUNT(*) > 1) dupes 
ON 
t1.station_id = dupes.station_id AND
t1.obs_year = dupes.obs_year
Run Code Online (Sandbox Code Playgroud)

有人可以建议我做错了什么,和/或如何解决这个问题?

sql oracle unique unique-constraint ora-00918

20
推荐指数
2
解决办法
7万
查看次数

Oracle:在select查询中查找重复的行

我的SQL查询返回4列"A","B","C","D"的结果.

假设结果是:

A    B    C    D
1    1    1    1
1    1    1    2
2    2    2    1
Run Code Online (Sandbox Code Playgroud)

是否可以获得每行中包含"A","B","C"列的重复行数.

例如,预期的结果是:

A    B    C    D    cnt
1    1    1    1    2
1    1    1    2    2
2    2    2    1    1
Run Code Online (Sandbox Code Playgroud)

我尝试使用count(*)结束.但它返回查询返回的总行数.另一个信息是,在示例中,我只提到了3列,我需要根据这些列检查计数.但我的实际查询有8列.并且数据库中的行数很大.所以我认为分组在这里不是一个可行的选择.任何提示都很明显.谢谢.

sql oracle count duplicates

1
推荐指数
2
解决办法
4万
查看次数