SQL запрос на поиск повторяющихся строк - PullRequest
0 голосов
/ 06 августа 2020

У меня есть таблица 1, в которой есть столбцы IND_REF и CODE:

enter image description here

I would like to find duplicate codes.

I want to have the below image for output:

введите описание изображения здесь

Я был бы признателен, если бы кто-нибудь мог мне помочь или подсказать, как я могу этого достичь.

Ответы [ 5 ]

2 голосов
/ 06 августа 2020

Агрегация с GROUP BY, вероятно, здесь самый простой способ:

SELECT IND_REF, CODE
FROM yourTable
GROUP BY IND_REF, CODE
HAVING COUNT(*) > 1;
0 голосов
/ 06 августа 2020

В этом случае мы можем использовать «GROUP BY» и «HAVING»

SELECT IND_REF, CODE, COUNT(IND_REF) as duplicate_count
FROM `table_name`
GROUP BY IND_REF
HAVING duplicate_count > 1
0 голосов
/ 06 августа 2020

Всегда приносите образцы данных в виде текста, чтобы мы могли скопировать и вставить их в один или несколько SQL операторов

Как здесь, где я повторно набрал его вручную:

WITH
input(ind_ref,code) AS (
          SELECT 1234,12
UNION ALL SELECT 1234,13
UNION ALL SELECT 1222,12
UNION ALL SELECT 1222,11
UNION ALL SELECT 1333,12
UNION ALL SELECT 1333,12
UNION ALL SELECT 1333,13
)
-- then, as @Biswanath Das did, continue like this:
SELECT
  ind_ref
, code
FROM input
GROUP BY
  ind_ref
, code
HAVING COUNT(*) > 1;

возврат:

 ind_ref | code 
---------+------
    1333 |   12
0 голосов
/ 06 августа 2020

Я думаю, что самый быстрый способ - выбрать по счетчику:

SELECT [IND_REF], [CODE]
FROM Table1
GROUP BY [IND_REF] // add [CODE] if u like different codes to be mapped to the same [IND_REF]
HAVING COUNT(*) > 1

должно работать

0 голосов
/ 06 августа 2020

Мне удалось добиться этого, используя предложение наличия.

SELECT IL.IND_REF,IL.CODE 
FROM TABLE1 IL 
WHERE IL.TYPE=12 
group by IL.IND_REF,IL.CODE 
having COUNT(*)>1
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...