Mario: Unique IDs prüfen

Hallo,

ich bräuchte einen Ansatz um all diejenigen Einträge einer Spalte herauszufinden, die öfter als ein mal vorhanden sind. D.h. ich will eine Spalte auf 'Unique IDs' prüfen (wobei jede natürlich nur einmal vorkommen darf).

Datenbank: Oracle 10

Für eine Hilfestellung wäre ich dankbar!

  1. Hallo

    ich bräuchte einen Ansatz um all diejenigen Einträge einer Spalte herauszufinden, die öfter als ein mal vorhanden sind. D.h. ich will eine Spalte auf 'Unique IDs' prüfen (wobei jede natürlich nur einmal vorkommen darf).

    Datenbank: Oracle 10

    SELECT                          -- Gib mir  
        spalte,                     -- die IDs  
        COUNT(spalte) AS anzahl     -- und die Anzahl ihres Auftretens  
    FROM tabelle                    -- aus der gewünschten Tabelle  
    GROUP BY spalte                 -- gruppiert nach den IDs  
    HAVING COUNT(spalte) > 1        -- aber nur diejenigen, die mehr als einmal vorkommen
    

    siehe auch SELFHTML aktuell, Datensätze gruppieren mit SQL.

    Freundliche Grüße

    Vinzenz

    1. Hallo Vinzenz,

      super, vielen Dank!

    2. Hallo nochmals,

      eine Zusatzfrage: Wie kann ich nun Rows mit mehreren identischen Einträgen löschen? Das sollte irgendwie so aussehen:

      Delete from tabelle where spalte in (vorige select anweisung)

      SELECT                          -- Gib mir

      spalte,                     -- die IDs
          COUNT(spalte) AS anzahl     -- und die Anzahl ihres Auftretens
      FROM tabelle                    -- aus der gewünschten Tabelle
      GROUP BY spalte                 -- gruppiert nach den IDs
      HAVING COUNT(spalte) > 1        -- aber nur diejenigen, die mehr als einmal vorkommen

      
      >   
        
      Für Hinweise wäre ich dankbar.