Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Doppelte Datenbankeinträge herausfiltern

Frage Entwicklung Datenbanken

Mitglied: rumbleDom

rumbleDom (Level 1) - Jetzt verbinden

11.07.2012 um 10:00 Uhr, 2805 Aufrufe, 5 Kommentare

MySQL-Datenbanktabelle enthält doppelte (und mehrfache) Datenbankeinträge. Diese sollen mit einem SQL-Statement herausgefiltert werden.

Umgebung:

MySQL-Tabellenname: ARTIKEL
Felder: ID, LIEFERANT, BESTELLNUMMER

ID ist immer fortlaufend, LIEFERANT ist ein INT (beispielsweise 1228), BESTELLNUMMER ist VARCHAR (beispielsweise ABC123)


Lösungsansatz:

SELECT *
FROM ARTIKEL
WHERE COUNT(LIEFERANT) > 1
AND COUNT(BESTELLNUMMER) > 1
GROUP BY BESTELLNUMMER


Leider bin ich damit irgendwie auf dem Holzweg und finde bei Google sowie der MySQL-Doku nicht wirklich eine Lösung oder einen passenden Ansatz hierzu.

Kann mir jemand weiterhelfen?

Gruß, rumble

Mitglied: Lu22235
11.07.2012 um 10:09 Uhr
Mit DISTINCT kann man Duplikate rausfiltern.
Hier kleine Funktionsbeschreibung. http://www.mysqlfaqs.net/mysql-faqs/Select-Statement/How-does-DISTINCT- ...
Bitte warten ..
Mitglied: nxclass
11.07.2012, aktualisiert um 12:21 Uhr
fehlt da nur ein Group element ?
01.
SELECT * 
02.
FROM ARTIKEL 
03.
GROUP BY BESTELLNUMMER,LIEFERANT
... nun hast du es gefiltert.
Ich vermute aber mal, dass Du die doppelten Werte löschen willst !?

btw. wenn solche doppelten Werte nicht gewünscht sind, dann setze ein UNIQUE Schlüsselpaar und arbeite mit REPLACE oder INSERT .. ON DUPLICATE KEY UPDATE
Bitte warten ..
Mitglied: rumbleDom
11.07.2012 um 16:48 Uhr
Ich vermute aber mal, dass Du die doppelten Werte löschen willst !?
Korrekt ... Sorry, da habe ich mich mit dem Wort "filtern" etwas unglücklich ausgedrückt


btw. wenn solche doppelten Werte nicht gewünscht sind, dann setze ein UNIQUE Schlüsselpaar und arbeite mit REPLACE oder
INSERT .. ON DUPLICATE KEY UPDATE
Das funktioniert leider nicht, weil die Auswertung hierzu erst gemacht werden muss und dafür auch die doppelten Werte benötigt werden
Bitte warten ..
Mitglied: exchange
11.07.2012 um 23:56 Uhr
Hi,
verstehe gerade nicht was Du genau suchen willst aber grundsätzlich würde das z.B. so aussehen:

SELECT mac, count(id) FROM nutzer GROUP BY mac HAVING count(*) > 1

Das zeigt Dir alle MAC Adressen an, welche mehr als einmal in der Datenbank vorkommen.

Gruß
Bitte warten ..
Mitglied: rumbleDom
12.07.2012 um 05:05 Uhr
Treffer!!! HAVING ist es!
Vielen herzlichen Dank.
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
gelöst Doppelte Dateneinträge per Batch aus Datei löschen? HILFE (5)

Frage von freshman2017 zum Thema Batch & Shell ...

Netzwerkgrundlagen
gelöst Doppelte MAC Adresse (3)

Frage von Marius.Follert zum Thema Netzwerkgrundlagen ...

Batch & Shell
Batsch doppelte Zeile in in Text finden und eine löschen (10)

Frage von GNLen1 zum Thema Batch & Shell ...

Neue Wissensbeiträge
Google Android

Cyanogenmod alternative Downloadquelle

(5)

Tipp von Lochkartenstanzer zum Thema Google Android ...

Batch & Shell

Batch als Dienst bei Systemstart ohne Anmeldung ausführen

(5)

Tipp von tralveller zum Thema Batch & Shell ...

Sicherheits-Tools

Sicherheitstest von Passwörtern für ganze DB-Tabellen

(1)

Tipp von gdconsult zum Thema Sicherheits-Tools ...

Heiß diskutierte Inhalte
LAN, WAN, Wireless
gelöst Statische Routen mit Shorewall, ISC-DHCP Server konfigurieren für Android Devices (24)

Frage von terminator zum Thema LAN, WAN, Wireless ...

Server
gelöst Wie erkennen, dass nur deutsche IPs Zugang zu einer Website haben? (22)

Frage von Coreknabe zum Thema Server ...

Hardware
16-20 Port POE Switch mit VLAN (16)

Frage von thomasreischer zum Thema Hardware ...

Windows Server
Exchange HyperV Prozessorlast (16)

Frage von theoberlin zum Thema Windows Server ...