Qie bekomm ich das hin --> doppelte Spaltenwerte

Status
Nicht offen für weitere Antworten.

EOB

Top Contributor
hallo, wie kann ich aus einer tabelle alle doppelten werte einer spalte abfragen und anzeihen, bzw. herausfinden, ob es doppelte werte gibt. es gibt also in meiner tabelle sagen wir mal 4 spalten und ich möchte wissen, in welchen zeilen für eine bestimmte spalte der wert schon existiert. beispiel


zeile1: wert1 wert2 wert3 wert4
zeile2: wert5 wert2 wert7 wert8

und eben so weiter. die möchte ich dann anzeigen. ne idee?

danke :)
 

The_S

Top Contributor
Spontan und ungetestet:

Code:
select id, spalte1, spalte2, spalte3, spalte4
form tabelle a
inner join tabelle z on a.id<>z.id and (a.spalte1=z.spalte1 or a.spalte2=z.spalte2 or a.spalte3=z.spalte3 a.spalte4=z.spalte4)

gibt vermutlich aber noch bessere Methoden.
 

yajp

Mitglied
wenns nur um eine bestimmte spalte (field) geht:

Code:
SELECT * FROM blubb WHERE field in(
SELECT field FROM blubb GROUP BY field HAVING COUNT(*) > 1) ORDER BY irgendwat

hoffentlich hat sich da kein denkfehler eingeschlichen :cool:
 

abollm

Top Contributor
Also, wenn die DB-Engine das unterstützt, funktioniert folgende Abfrage sicher, um für eine bestimmte Spalte in einer Tabelle sowohl den Wert der betreffenden Spalte als auch die Anzahl des Auftretens, aufsteigend nach der Anzahl des Auftretens sortiert, auszugeben. Das obige Statement von yajp liefert dagegen nur eine Liste der selektierten Spalten.


Code:
select spalte1, count(spalte1) from tabelle group by spalte1 having count(*) > 1 order by 2;

Hth
 
Status
Nicht offen für weitere Antworten.

Ähnliche Java Themen


Oben