Поиск дублирующих строк в таблице


Сам запрос выглядит следующим образом:
SQL>SELECT Field, COUNT(*) FROM TABLE
    GROUP BY Field
    HAVING COUNT(*) > 1;


вместо Field - указываете необходимое поле(я)(колонки).

Пример готового запроса:
SQL>SELECT BOR_BUDGSERVICE_ID, OKVED_CODE, COUNT(*)
    FROM PL_BOR_BUDGSERV_OKVED
    group by BOR_BUDGSERVICE_ID, OKVED_CODE
    having count(*)>1;

Для использования полученной выборки, а именно значения BOR_BUDGSERVICE_ID для остальных запросов нужно использовать конструкцию:
SQL>SELECT DISTINCT(BODY.BOR_BUDGSERVICE_ID) from
    (SELECT BOR_BUDGSERVICE_ID, OKVED_CODE, COUNT(*)
    FROM PL_BOR_BUDGSERV_OKVED
    group by BOR_BUDGSERVICE_ID, OKVED_CODE
    having count(*)>1) BODY;


Запись в продолжении:

Комментарии

Популярные сообщения из этого блога

Linux (РедОС). Сброс пароля

TRUNCATE / DELETE / DROP или как очистить таблицу

КБК. КВФО - Код вида финансового обеспечения (деятельности)

SQL Error [53200]: ОШИБКА: нехватка разделяемой памяти Подсказка: Возможно, следует увеличить параметр max_locks_per_transaction

РедОС. Подключение к сетевой папке