in der voraussetzung, daß es einen eindeutigen schlüssel für die tabelle gibt und spalte1 und spalte2 x-beliebige felder der tabelle, würd ich in sql wie folgt vorgehen, wobei du auch noch die anzahl der „gleichen“ sätze kriegst;
select a.spalte1,a.spalte2,count(*)
from tabelle b, tabelle a
where a.id != b.id
and a.spalte1 = b.spalte1
and a.spalte2 = b.spalte2
group by a.spalte1,a.spalte2;
das ganze würde auch noch mit einem „(not) exist“ oder „(not) in“ funktionieren … ganz wie du willst …
hi,
wie mache ich das mit der a.id bzw. b.id bei einem zusammengesetzten Schlüssel?
Nur die Kombination aus zwei Felder ist auf der Tabelle eindeutig…??
da brachte mich doch jetzt glatt janus auf die idee:
Aber Janus’ Select ist richtiger, denn die ursprüngliche Frage will nicht nur die Schlüsselspalten, sondern die ganzen Datensätze haben.
Generell ist das hier genau die Schwierigkeit: Einerseits will man alle Spalten haben, andererseits nur über eine oder zwei Schlüsselspalten gruppieren, was dann gleichzeitig die Anzeige der restlichen Spalten verbietet. Da bleibt nur ein "select * … where … in(… group by …) übrig.
Generell ist das hier genau die Schwierigkeit: Einerseits will
man alle Spalten haben, andererseits nur über eine oder zwei
Schlüsselspalten gruppieren, was dann gleichzeitig die Anzeige
der restlichen Spalten verbietet. Da bleibt nur ein "select *
… where … in(… group by …) übrig.
Gruß
J.
wenn ich die doppelten sätze, und damit meine ich jene datensätze, bei denen bis auf den primary key wirklich alles ident ist, herausfiltern will, sind ja genau diese doppelten felder die schlüsselspalten, über die ich gruppieren will bzw. muß … also bleibt es „ghupft wie gsprungen“, wie ich daran gehe … wobei ich bei meiner lösung sogar noch auf die performance pochen kann
wenn ich die doppelten sätze, und damit meine ich jene
datensätze, bei denen bis auf den primary key wirklich alles
ident ist, herausfiltern will, sind ja genau diese doppelten
felder die schlüsselspalten, über die ich gruppieren will bzw.
muß … also bleibt es „ghupft wie gsprungen“, wie ich daran
gehe … wobei ich bei meiner lösung sogar noch auf die
performance pochen kann
Klar. Aber Du bist damit noch nicht fertig. Du mußt aus den Schlüsselfeldern mit einem weiteren Select die ganzen Datensätze holen.