Mailinglisten-Archive |
> Von: php-admin_(at)_php-center.de [mailto:php-admin_(at)_php-center.de]Im Auftrag > von Thomas 'Balu' Walter > Gesendet: Montag, 17. Juli 2000 14:08 > An: php_(at)_php-center.de > Betreff: [php] OT: Mysql - doppelte ausgeben > Ich wuerde gerne aus einer Datenbank alle Zeilen ausgeben lassen, > bei denen in einer Spalte ein Wert mehrfach vorkommt. > > Normalerweise wuerde ich ungefaehr das folgende versuchen: > > SELECT DISTINCTROW <spaltenname> > FROM <tabelle> > WHERE <spaltenname> IN > ( SELECT <feldname> > FROM <tabelle> AS tmp > GROUP BY <feldname> > HAVING COUNT(*) > 1) > ORDER BY <feldname>; > > Leider kann mysql das IN nicht :( an einem php-patch für mysql-subselects wird IMHO gerade gearbeitet. Solange das dauert, wirst du wohl ein Schleife benutzen müssen. Je nach #DS ist das aber auch nicht so schlimm, wenn man den auf UNIX arbeitet. Ich habe letztens sowas für einen GarbageCollector gemacht, das Ergebnis der Durchlaüfe im Vergleich: WIN32/PHP3: 475 DS: ca. 220tsd durchläufe == 80 sekunden FreeBSD/PHP4: 475 DS: ca. 220tsd durchläufe == 7 sekunden mein Fazit: die Kosten sind auf (UNIX) vertretbar. mit bestem Gruß -Wolfgang -- PHP Knotenpunkt - Dynamic Web Pages: http://www.dynamic-webpages.de PHP-Stand auf Europas größter Linux-Messe: LinuxTag 2000 Nachlese & LinuxTag 2001 weitere Infos _(at)_ http://www.dynamic-webpages.de/
php::bar PHP Wiki - Listenarchive