Poldi Geschrieben 28. Juni 2001 Geschrieben 28. Juni 2001 Ich hab da ein Problem: Ich muß mit PHP(da hab ich noch sehr wenig Ahnung von) oder SQL(auch nicht sehr viel mehr) folgendes machen: Ich hab folgende Tabelle Primärschlüssel | Wert1 | Wert2 ------------------------------- 1 | 12 | ? 2 | 2 | ? 3 | 13 | ? 4 | 12 | ? 5 | 23 | ? 6 | 9 | ? 7 | 12 | ? 8 | 13 | ? Nun soll folgendes geschehen: alle Datensätze, in denen in der Spalte Wert1 ein Wert mehr als 1 Mal vorkommt (die 12 kommt z.B. 3 Mal vor, die 13 2 Mal) sollen ausgegeben werden. Will also folgendes erhalten: 1 | 12 | ? 4 | 12 | ? 7 | 12 | ? und: 3 | 13 | ? 8 | 13 | ? ... nur wie?! *Kopf auf Tisch hämmer...* Zitieren
captainhook Geschrieben 28. Juni 2001 Geschrieben 28. Juni 2001 Wenn ich das richtig verstehe und mein Humble SQL dafür auf Anhieb reicht: SELECT * FROM TABELLE WHERE COUNT(WERT1) > 1 ORDER BY PRIMAERSCHLUESSEL Hope it helps, Daniel Zitieren
Wolle Geschrieben 28. Juni 2001 Geschrieben 28. Juni 2001 <BLOCKQUOTE><font size="1" face="Verdana, Helvetica, sans-serif">Zitat:</font><HR>Original erstellt von captainhook: <STRONG>SELECT * FROM TABELLE WHERE COUNT(WERT1) > 1 ORDER BY PRIMAERSCHLUESSEL </STRONG> Zitieren
hades Geschrieben 28. Juni 2001 Geschrieben 28. Juni 2001 wie wärs mit diesem statement? select primärschlüssel, wert1 from tabelle1 group by wert1 having count(wert1) > 1 Zitieren
Wolle Geschrieben 28. Juni 2001 Geschrieben 28. Juni 2001 <BLOCKQUOTE><font size="1" face="Verdana, Helvetica, sans-serif">Zitat:</font><HR>Original erstellt von hades: <STRONG>wie wärs mit diesem statement?</STRONG> Zitieren
Poldi Geschrieben 29. Juni 2001 Autor Geschrieben 29. Juni 2001 was macht denn dieses group by? ich kann mit den erklärungen aus dem buch nix anfangen ... danke für eure hilfe, ich probier das gleich mal aus!! Zitieren
Poldi Geschrieben 29. Juni 2001 Autor Geschrieben 29. Juni 2001 Das tuts irgendwie nicht: select antennen.aa_node_id, antennen.bts_ci from antennen group by antennen.bts_ci having count(antennen.bts_ci) > 1; Die Fehlermeldung: ERROR at line 2: ORA-00979: not a GROUP BY expression Hääääh?! Zitieren
hades Geschrieben 29. Juni 2001 Geschrieben 29. Juni 2001 hi poldi, schön, dass man aus deiner fehlermeldung jetzt auch dein verwendetes dbms erfährt -oracle oracle möchte hier eine aggregatfunktion haben. (gefunden in: online hilfe oracle client 8.0.5 für nt/win2k) select feld1, [aggregatfkt(feld2)] from schemaname.tabelle group by feld1 hilft aber in deinem fall nicht weiter, nimm wolles lösung mit der temporären tabelle. gruss [ 29. Juni 2001: Beitrag editiert von: hades ] Zitieren
Poldi Geschrieben 29. Juni 2001 Autor Geschrieben 29. Juni 2001 habs hinbekommen: select max(bts_ci) from antennen group by bts_ci having count(bts_ci) > 1; so funktioniert es ... warum auch immer. Zitieren
hades Geschrieben 29. Juni 2001 Geschrieben 29. Juni 2001 weil max eine der aggregatfunktionenen ist aggregatfunktionen: sum min max count first last Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.