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, 2808 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 PowerShell Skript für doppelte Dateinamen (1)

Frage von janelsaesser zum Thema Batch & Shell ...

Batch & Shell
gelöst Doppelte Dateneinträge per Batch aus Datei löschen? HILFE (7)

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
Tipps & Tricks

Wie Hackt man sich am besten in ein Computernetzwerk ein

(38)

Erfahrungsbericht von Herbrich19 zum Thema Tipps & Tricks ...

Humor (lol)

Bester Vorschlag eines Supporttechnikers ever: APC

(15)

Erfahrungsbericht von DerWoWusste zum Thema Humor (lol) ...

Heiß diskutierte Inhalte
Webbrowser
Windows 7 unbeliebte Internetseite sperren (15)

Frage von Daoudi1973 zum Thema Webbrowser ...

ISDN & Analoganschlüsse
gelöst Splitter - RJ45 zu RJ11? (13)

Frage von Waishon zum Thema ISDN & Analoganschlüsse ...

LAN, WAN, Wireless
gelöst Suche Firmware Image für Cisco Aironet 1252 (10)

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

Netzwerke
VLAN Verständnissproblem (9)

Frage von Dragan123 zum Thema Netzwerke ...