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, 2792 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 ..
Neuester Wissensbeitrag
Windows 10

Powershell 5 BSOD

(8)

Tipp von agowa338 zum Thema Windows 10 ...

Ähnliche Inhalte
Heiß diskutierte Inhalte
Microsoft
Ordner mit LW-Buchstaben versehen und benennen (20)

Frage von Xaero1982 zum Thema Microsoft ...

Outlook & Mail
gelöst Outlook 2010 findet ost datei nicht (19)

Frage von Floh21 zum Thema Outlook & Mail ...

Netzwerkmanagement
gelöst Anregungen, kleiner Betrieb, IT-Umgebung (18)

Frage von Unwichtig zum Thema Netzwerkmanagement ...

Festplatten, SSD, Raid
M.2 SSD wird nicht erkannt (14)

Frage von uridium69 zum Thema Festplatten, SSD, Raid ...