Dupletten löschen

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Dupletten löschen

    Hallo,

    ich möchte alle Dupletten aus einer Tabelle löschen. Dazu habe ich folgende SQL Statement gebastelt um die Tabelle nach Dupletten zu durchsuchen.

    PHP-Code:
    SELECT nummercount(  *  ) AS count 
    FROM warengruppe
    WHERE nav_id IS  NULL
    GROUP  BY nummer
    ORDER BY count ASC 
    Das o. g. Statement zählt alle Einträge, auch diese die nur 1 x vorhanden sind. Wie kann ich herausfinden welche Einträge mehrfach vorhanden sind? Also wo kommt das > 1 hin?

    Vielen Dank!

    Gruß Björn
    » http://www.htaccess-generator.com

  • #2
    Dafür gibt's die HAVING Klausel
    http://dev.mysql.com/doc/mysql/en/SELECT.html
    carpe noctem

    [color=blue]Bitte keine Fragen per EMail ... im Forum haben alle was davon ... und ich beantworte EMail-Fragen von Foren-Mitgliedern in der Regel eh nicht![/color]
    [color=red]Hinweis: Ich bin weder Mitglied noch Angestellter von ebiz-consult! Alles was ich hier von mir gebe tue ich in eigener Verantwortung![/color]

    Kommentar


    • #3
      Re: Dupletten löschen

      HAVING count > 1
      I don't believe in rebirth. Actually, I never did in my whole lives.

      Kommentar


      • #4
        Danke das funktioniert bereits sehr gut.

        Dachte mir ich könnte dann zum löschen einfach die SELECT Anweisung gegen DELETE ersetzen, aber das geht dann wohl doch nicht.

        Dann wären wir wieder beim Problem. Wie lösche ich die Dupletten nun aus der Tabelle?

        Hier nochmal mein Versuchsscript:

        PHP-Code:
        DELETE count(  *  )  AS count
        FROM warengruppe
        WHERE nav_id IS  NULL 
        GROUP  BY nummer
        HAVING count 
        >
        » http://www.htaccess-generator.com

        Kommentar


        • #5
          Wenn Du 'ne MySQL >= 4.0.0 hast eventuell mit 'nem Multitable Delete und 'nem LEFT JOIN ... wenn nicht, mit 'ner Schleife und einzelnen Delete's ...

          http://dev.mysql.com/doc/mysql/en/DELETE.html
          carpe noctem

          [color=blue]Bitte keine Fragen per EMail ... im Forum haben alle was davon ... und ich beantworte EMail-Fragen von Foren-Mitgliedern in der Regel eh nicht![/color]
          [color=red]Hinweis: Ich bin weder Mitglied noch Angestellter von ebiz-consult! Alles was ich hier von mir gebe tue ich in eigener Verantwortung![/color]

          Kommentar


          • #6
            Sorry, aber ich blicke da nicht so ganz durch. Bist du so nett und postest dein SQL-Statement?
            » http://www.htaccess-generator.com

            Kommentar


            • #7
              Also ich habs nun mal so probiert... geht allerdings auch nicht... ;-(... HIIIIIIILFE

              PHP-Code:
              DELETE FROM warengruppe WHERE nummer in (
              SELECT nummercount(  *  )  AS count
              FROM warengruppe
              WHERE nav_id IS  NULL 
              GROUP  BY nummer
              HAVING count 
              >1
              » http://www.htaccess-generator.com

              Kommentar


              • #8
                Original geschrieben von bweichel
                Also ich habs nun mal so probiert... geht allerdings auch nicht... ;-(... HIIIIIIILFE
                und das wundert dich? warum schaust du nicht nach, wie der Syntax von DELETE aussieht? den Link hat goth dir bereits gegeben und Tipp dazu auch schon.

                Kommentar

                Lädt...
                X