sql >> Databáze >  >> RDS >> Mysql

Najděte duplicitní hodnoty přiřazené k více než jedné jedinečné hodnotě

WITH CTE AS (SELECT DBVersionKey, Desc19, ROW_NUMBER()OVER(PARTITION BY Desc19
ORDER BY Desc19) RN
FROM Table_A)

SELECT * FROM CTE WHERE RN > 1

Navrhuji používat běžné tabulkové výrazy s oddíly čísel řádků. Tím se vytvoří počet (RN) každé instance Desc19.

Nemohu dotaz právě teď otestovat, ale informujte mě o svých výsledcích a mohu se odtud upravit.

UPRAVIT

Pokud DBVersionKey není jedinečná hodnota, zkusil bych:

SELECT DISTINCT DBVersionKey, Desc19, COUNT(*)
FROM Table_A
Group by DBVersionKey, Desc19

Dejte mi vědět, jestli to funguje lépe.

ÚPRAVA 2

Ještě jednou, nemůžu to otestovat. Přidání k prvnímu navrhovanému dotazu:

WITH CTE AS (SELECT DBVersionKey, Desc19, ROW_NUMBER()OVER(PARTITION BY Desc19 ORDER BY Desc19) RN 
FROM (SELECT DISTINCT DBVersionKey, Desc19 FROM Table_A GROUP BY DBVersionKey, Desc19)

SELECT * FROM CTE WHERE RN > 1


  1. Laravel:Nedefinovaný index:ovladač

  2. Jak spravovat měrné jednotky ve webové aplikaci PHP?

  3. Chyba náhledu šablony BI Publisher a Excel

  4. Jak nastavit, aby operátor SQLite LIKE rozlišoval malá a velká písmena