Top-Themen

Aktuelle Themen (A bis Z)

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 DB doppelte Einträge löschen nur die mit dem älteren Datum (spalte)

Mitglied: Jens1985

Jens1985 (Level 1) - Jetzt verbinden

13.02.2014, aktualisiert 14.02.2014, 4179 Aufrufe, 6 Kommentare, 1 Danke

Hi,

ich habe mal wieder ein Problem.

Ich möchte in meiner Datenbank alle doppelten Einträge löschen aber nur die mit den älteren Datum.

Beispiel Auszug aus der Datenbank wie sie jetzt noch aussieht.

CharacterName CorporationName AllianceName KillID killTime shipTypeID characterID allianceID corporationID typiID
00soimulalcorian00 Haita de lupi ROMANIAN-LEGION 16177296 2014-12-29 20:01:00 23919 1830435815 557004256 1407651808 Aeon
00soimulalcorian00 Haita de lupi ROMANIAN-LEGION 16177243 2012-12-29 19:59:00 23919 1830435815 557004256 1407651808 Aeon
00soimulalcorian00 Haita de lupi ROMANIAN-LEGION 16177215 2010-12-29 19:57:00 23919 1830435815 557004256 1407651808 Aeon
Kyara Stone Sniggerdly Pandemic Legion 36691924 2014-02-11 20:41:00 23919 941424803 386292982 828800677 Nyx
Kyara Stone Sniggerdly Pandemic Legion 36691920 2013-02-11 20:41:00 23919 941424803 386292982 828800677 Nyx
Kyara Stone Sniggerdly Pandemic Legion 36691915 2012-02-11 20:41:00 23919 941424803 386292982 828800677 Nyx

So hätte ich es gerne

CharacterName CorporationName AllianceName KillID killTime shipTypeID characterID allianceID corporationID typiID
00soimulalcorian00 Haita de lupi ROMANIAN-LEGION 16177296 2014-12-29 20:01:00 23919 1830435815 557004256 1407651808 Aeon
Kyara Stone Sniggerdly Pandemic Legion 36691924 2014-02-11 20:41:00 23919 941424803 386292982 828800677 Nyx


Mein momentanes Script löscht alle komplett gleichen Einträge von CharacterName bis typeID und sieht so aus.
Auszug aus meiner .php Datei
Kann mir da einer weiterhelfen.

Danke
Jens
Mitglied: Clijsters
13.02.2014, aktualisiert um 23:17 Uhr
Hallo Jens,

nichts leichter als das:
Es gibt noch unzählige weitere Methoden mit unzählig verschiedenen Eigenschaften. Hier hilft Google eigentlich sehr gut weiter.


Beste Grüße
Dominique
Bitte warten ..
Mitglied: Jens1985
13.02.2014, aktualisiert um 23:36 Uhr
Hi

ich bekomme jetzt folgendes:

#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'GROUP BY characterName' at line 2

Jens
Bitte warten ..
Mitglied: Clijsters
LÖSUNG 14.02.2014, aktualisiert um 21:49 Uhr
Hi
Tatsache, habe es gerade selber getestet. Das hätte ich auch vorher machen können...

Hier gibt's was zu dieser Kombination:
Stackoverflow - MySQL Order By before Group By

Es sollte aber wie bereits erwähnt bereits einiges geben: Siehe hier

Dominique
Bitte warten ..
Mitglied: Jens1985
14.02.2014 um 01:28 Uhr
Hi

habe bei Stackoverflow etwas gefunden was bis jetzt geklappt hat.

Ich schaue mir noch mal meine DB richtig an ob es auch das Ergebnis ist was ich gerne hätte.

Jens
Bitte warten ..
Mitglied: Biber
14.02.2014 um 12:44 Uhr
Moin Jens1985,

wenn ich dein Beispiel richtig interpretiere, dann brauchst du weder eine implizit angelegte Temp-Tabelle noch diese Umkopiererei.

Mit diesem Statement...
.... sollten dir alle "älteren" doppelten Datensätze angezeigt werden
Und wenn du das " Select a.* from Table a" in ein "delete from table a" änderst, dann werden sie gelöscht.

Anmerkungen:
- natürlich ungetestet.
- die KillID habe ich natürlich rausgelassen aus der WHERE-Clause
- dafür habe ich das von dir nicht geprüfte "typID" mit reingenommen - falls es für deine "Duplikatsprüfung" wirklich nicht relevant ist, dann streich es wieder.
- statt des Vergleichs "a.killtime< max(b.killtime)" ginge vemutlich auch ein "a.killID< max(b.killId)", da diese ansonsten nutzlose KillID vermutlich so eine depperte Auto-ID ist, die bei jeder frischen Datensatz-Anlage (also abhängig von der Killtime) hochzählt.
- deine Tabelle sieht nicht so richtig doll normalisiert aus, sondern eher wie das Ergebnis eines Joins über 4 Tabellen. Brauchst du wirklich so viele redundante Felder, also "allianceID" UND "allianceName" und "xyID" UND "xyName" ?

Grüße
Biber
Bitte warten ..
Mitglied: Jens1985
14.02.2014 um 21:49 Uhr
Hi Biber

werde das von dir mal testen.

Zitat von Biber:

- statt des Vergleichs "a.killtime< max(b.killtime)" ginge vemutlich auch ein "a.killID< max(b.killId)",
da diese ansonsten nutzlose KillID vermutlich so eine depperte Auto-ID ist, die bei jeder frischen Datensatz-Anlage (also
abhängig von der Killtime) hochzählt.
bezüglich der killID: Diese Id kann fortlaufend sein d.h. wird auf der seite von der ich meine daten beziehe etwas per hand eingetragen bekommt die ID in derer Datenbank ein "-" (minus) davor gesetzt. Wird es aber mittels eines API in die Datenbank geschrieben entsteht keine "-" (minus).

- deine Tabelle sieht nicht so richtig doll normalisiert aus, sondern eher wie das Ergebnis eines Joins über 4 Tabellen.
Brauchst du wirklich so viele redundante Felder, also "allianceID" UND "allianceName" und "xyID" UND
"xyName" ?
Da ich es nur als freizeitbeschäftigung mache, habe ich nicht sehr viel kenntnis in Sachen php, mysql usw. Was ich gelernt habe kann ich umsetzten, was ich nicht weis google ich bis ich was finde. Habe ich nichts gefunden frage ich hier.
Die ID's und Name brauche ich um ein href auf anderen seite zuerstellen. Manche seiten arbeiten mit z.b. (allianceName Pandemic Legion) Pandemic_Legion oder Pandemic+Legion. Damit ich das umgehe verwende ich die ID's. Ob CharacterName, CorporationName oder AllianceName die dazu gehöhrenen ID's sind immer gleich.

Danke für eure Hilfe
Jens
Bitte warten ..
Ähnliche Inhalte
Windows 10

Windows 10 - registry eintrag "datum und uhrzeit automatisch festlegen"

Frage von ZacMcKrackenWindows 108 Kommentare

moin, wenn ich dokumente scanne, bekommen die "leider" das aktuelle systemdatum ich hätte gerne, dass die ein bestimmtes datum ...

Hardware

Doppelt geklickt trotz Singleclick

gelöst Frage von honeybeeHardware6 Kommentare

Hallo, ich habe auf einem Tablet-PC was komisches festgestellt: Wenn ich mit einer normalen kabelgebundenen Maus auf einen Button ...

Windows Server

GPOs werden doppelt angezeigt

Frage von gamerffWindows Server1 Kommentar

Hallo zusammen, wir haben bei uns das Problem das Gruppenrichtlinien doppelt angezeigt werden wen man gpresult -r ausführt. Angewendete ...

Xenserver

Citirx Session Alt + TAB

Frage von HanutaXenserver5 Kommentare

Hallo Zusammen, gibt es eine Möglichkeit innerhalb einer Citirx Session die Windows ShortCuts nicht auf die Session zu übertragen, ...

Neue Wissensbeiträge
Microsoft Office

Office 365 Makro Schutz nicht immer per GPO möglich

Information von sabines vor 1 TagMicrosoft Office1 Kommentar

Der zum Schutz gegen Verschlüsselungstrojaner wichtige Makroschutz lässt sich wohl in Office 365 nicht immer per GPO einstellen. Für ...

Netzwerkmanagement
How To Mikrotik Netinstall
Erfahrungsbericht von areanod vor 3 TagenNetzwerkmanagement

Jedes Mal wenn ich Netinstall längere Zeit nicht benutzt habe stolpere ich über die „Besonderheiten“ dieser Software. Das ist ...

Microsoft
Microsoft: LDAPS per Update als Default
Information von em-pie vor 3 TagenMicrosoft2 Kommentare

Hallo, Microsoft wird mit einem der zukünftigen Updates LDAP auf LDAPS per Default umstellen. Admins von angebundenen Systemen die ...

Humor (lol)

Funny: Warum es immer schwieriger wird, die richtigen Produkte online zu finden

Information von Dilbert-MD vor 4 TagenHumor (lol)19 Kommentare

Wir befinden uns in der Rubrik "Off Topic - Humor" und in 15 Minuten ist Freitag. und ja, es ...

Heiß diskutierte Inhalte
Windows Server
Windows Server 2019 RDP auf anderen Port umlegen scheint zumindest in der Firewall nicht zu funktionieren
gelöst Frage von kfj-deWindows Server18 Kommentare

Hallo zusammen, habe gedacht, ich mache den Remote Desktop Zugang etwas sicherer und lege den Port auf einen der ...

Windows 10
Reicht eine 64GB SSD für einen Einwahl-PC für die Funktionsupgrade?
gelöst Frage von StefanKittelWindows 1018 Kommentare

Hallo, ich weiß, bei Google steht ganz viel, aber das meiste zu 32GB und irgendwie schreibt jeder was Anderes. ...

Windows Server
Kontakt mit Warenwirtschaft Software Anbieter - Netzwerkstbilität
Frage von PoddeldunktWindows Server18 Kommentare

Hallo zusammen, entschuldigt erstmal den schlechten Titel, aber mir ist nicht eingefallen wie ich das ganze Aussagekräftiger gestalten soll. ...

Windows Tools
Autologoff Local User Windows 10 bei idle Time von 900 Sekunden
Frage von Hendrik2586Windows Tools16 Kommentare

Hallo ihr lieben. :) Ich hatte das Thema schon mal vor einer Weile, aber nun muss ich es nochmal ...