[SQL] wie lösche ich doppelte datensätze raus?



  • vielleicht denke ich auch zu kompliziert.. vielleicht gibts keine extremen abhängigkeiten.

    eine klare möglichkeit ist das herstellen einer temporären tabelle mit distinct.

    damit elemeniert man die doppelten.





  • jup danke das ist es, noch was wie kriege ich es hin das er nur die doppelten raushollt
    die tabelle ist zu gross und mit LIMIT wird es recht umständlich



  • Was ist denn bei diesen Datensätzen doppelt? Evtl. kannst du sie so auslesen und anschließend ein einer Schleife durchgehen und den entsprechenden DELETE senden. Vielleicht kann man das auch direkt in einen SQL-Befehl schreiben, aber dazu fehlen mir im Augenblick die Kenntnisse.

    SELECT id FROM table GROUP BY id HAVING COUNT( id )  > 1
    


  • Ich verstehe jetzt auch , wie flenders , deine Frage nicht.
    Da musst du schon genaue beschreiben wie deine Tabelle aufgebaut ist.
    Wen du aber keine doppelten willst dann kann man den Table so verändern das er schon keine doppelten einfügt.
    Wäre die bessere Lösung.



  • So wie ich das verstanden habe, hat er eben schon doppelte Einträge drin, und will diese nun rauslöschen 🙄



  • *g* bei unseren Briefen, die wir von der Kreissparkasse erhalten, steht immer (sinngemäß) folgender Text drunter:

    Wir bitten zu entschuldigen, wenn Sie diesen Brief in mehrfacher Ausführung erhalten. Dies ist jedoch für uns kostengünstiger als einen Abgleich der Datenbank zu machen



  • Loggy@urlaub schrieb:

    *g* bei unseren Briefen, die wir von der Kreissparkasse erhalten, steht immer (sinngemäß) folgender Text drunter:

    Wir bitten zu entschuldigen, wenn Sie diesen Brief in mehrfacher Ausführung erhalten. Dies ist jedoch für uns kostengünstiger als einen Abgleich der Datenbank zu machen

    Geil 😮



  • Unix-Tom schrieb:

    Ich verstehe jetzt auch , wie flenders , deine Frage nicht.
    Da musst du schon genaue beschreiben wie deine Tabelle aufgebaut ist.
    Wen du aber keine doppelten willst dann kann man den Table so verändern das er schon keine doppelten einfügt.
    Wäre die bessere Lösung.

    ok 🙂

    mit

    SELECT post_id, word_id, title_match, COUNT(post_id), COUNT(word_id), COUNT(title_match) from phpbb_search_wordmatch GROUP BY post_id, word_id, title_match
    

    kann ich herausfinden welche datensätze doppelt sind in den ich mit die counts von post_id usw. ankucke, aber das sind 300000 datensätze und mich intersieren nur die desen COUNT(...) > 1 ist

    fürs erste wäre ich glücklich wenn ich mit SELECT nur die COUNT(...) > 1 krigen würde,



  • Das macht doch mein oben gepostetes Beispiel 😕


Anmelden zum Antworten