CronJob-Service
bei SELFPHP mit ...
|
+ minütlichen Aufrufen
+ eigenem Crontab Eintrag
+ unbegrenzten CronJobs
+ Statistiken
+ Beispielaufrufen
+ Control-Bereich
Führen Sie mit den CronJobs von
SELFPHP zeitgesteuert Programme
auf Ihrem Server
aus. Weitere Infos
|
:: Anbieterverzeichnis ::
Globale Branchen
Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP
:: Newsletter ::
Abonnieren Sie hier den kostenlosen
SELFPHP Newsletter!
|
MySQLi/PDO/(MySQL) Anfänger, Fortgeschrittene oder Experten können hier Fragen und Probleme rund um MySQLi/PDO/(MySQL) diskutieren |
01.07.2008, 17:44:29
|
Anfänger
|
|
Registriert seit: Jul 2008
Alter: 42
Beiträge: 3
|
|
Doppelte Einträge finden & anzeigen
Hallo Leute,
ich habe eine Anfrage bezüglich des filterns einer MySQL-Datenbank.
In der Firma steht eine Datenbank mit aktuell knapp 35.000 Einträgen. Diese wird für statistische Zwecke benötigt, beinhaltet Angaben zu Rechnungen (RgNr., Wert, Datum, Lieferant etc etc.).
Leider ist keine der Spalten als UNIQUE (unique richtig? Hoffe ich hab das richtig verstanden...) erstellt worden, so dass sich nunmehr eine Menge an doppelten Einträgen tummelt.
Mein Anliegen ist es nunmehr alle doppelten Rechnungsnummern zu filtern (evtl. zusätzlich der Rechnungswert) und diese dann anzeigen zu lassen. Ich habe bereits mehrere Foren durchwühlt, aber immer nur eine Möglichkeit um nur den doppelten Wert, nicht aber jede doppelte Zeile anzeigen zu lassen. (z.B. http://www.selfphp4.de/forum/showthread.php?t=16131)
Gibt es eine Möglichkeit das mir jede betroffene Zeile ausgegeben wird? Sprich wenn es 2 Zeilen mit Rechnungsnummer 12345 gibt, das mir dann auch beide Zeilen ausgegeben werden?
Quasi das ich im Endeffekt alles was irgendwie doppelt ist vor mir sehe und mir dann aus den doppelten Einträgen die aussuchen kann die ich löschen will?
Oder wäre es ratsam alles in eine neue Tabelle zu exportieren und dann mit UNIQUE zu arbeiten?
Jede Hilfe ist sehr sehr willkommen, in Sachen MySQL bin ich leider noch der totale Einsteiger... :/
Vielen Dank schonmal!
Gruss,
Sebastian
|
02.07.2008, 10:23:26
|
SELFPHP Profi
|
|
Registriert seit: Apr 2008
Alter: 48
Beiträge: 1.938
|
|
Doppelte Einträge
schau dir mal die option DISTINCT in zusammenhang mit einer SELECT-anweisung an; vielleicht hilft dir das weiter:
http://dev.mysql.com/doc/refman/6.0/en/select.html
angenommen, du hast eine tabelle publikationen mit 500 datensätzen in (bspw.) 10 verschiedenen kategorien und möchtest eine liste der gespeicherten kategorien abfragen (jede der 10 kategorien soll nur 1x aufgezählt werden):
PHP-Code:
$unique = 'SELECT DISTINCT kategorie FROM publikationen';
cx
|
02.07.2008, 14:15:29
|
Anfänger
|
|
Registriert seit: Jul 2008
Alter: 42
Beiträge: 3
|
|
AW: Doppelte Einträge finden & anzeigen
damit hatte ich es auch bereits versucht.
wenn ich den befehlt jedoch richtig verstehe, dann gibt er mir eine liste mit allen einträgen die NICHT doppelt sind - schmeisst also alles was mehrfach vorkommt einfach raus.
ich bräuchte aber im prinzip das genaue gegenteil: eine liste mit Rechnungsnummern die alle mindestens 2x vorhanden sind und auch 2x aufgeführt werden :-/
trotzdem schonmal danke!
|
02.07.2008, 16:33:47
|
Member
|
|
Registriert seit: Oct 2002
Ort: ch
Beiträge: 822
|
|
AW: Doppelte Einträge finden & anzeigen
SELECT user_id, COUNT( * ) AS count
FROM tabelle
GROUP BY user_id
WHERE count > 1
ORDER BY count DESC
sowas vielleicht?
|
02.07.2008, 16:44:59
|
Member
|
|
Registriert seit: Oct 2002
Ort: ch
Beiträge: 822
|
|
AW: Doppelte Einträge finden & anzeigen
ok. hab es nun etwas ausformuliert - es ist nicht optimiert, aber erfuellt den zweck und fuer einmaliges filtern muss es reichen.
Code:
SELECT *
FROM tabelle
WHERE user_id
IN (
SELECT user_id
FROM (
SELECT user_id, COUNT( * ) AS count
FROM tabelle
GROUP BY user_id
) AS t2
WHERE count >1
)
|
03.07.2008, 09:02:01
|
Anfänger
|
|
Registriert seit: Jul 2008
Alter: 42
Beiträge: 3
|
|
AW: Doppelte Einträge finden & anzeigen
Das ist genial!
Ich habe es noch etwas modifiziert das ich nur Einträge in einem bestimmten Zeitraum reinnehme, aber es funktiniert 1a.
Viele vielen Dank :)
|
06.12.2009, 05:11:22
|
Anfänger
|
|
Registriert seit: Jul 2006
Ort: Berlin
Alter: 42
Beiträge: 17
|
|
AW: Doppelte Einträge finden & anzeigen
Hallo,
ich bin zufällig auf diesen Beitrag gestoßen, da ich selber ein ähnliches Problem habe.
In meiner Datenbank befinden sich Abfahrtszeiten und Standorte.
BSP:
uhrzeit | lat | lng | text
Ich möchte nun doppelte Einträge anzeigen, bei denen die Uhrzeit sowie der Standort doppelt vorhanden ist.
Ist es also möglich, neben "uhrzeit" auch noch zusätzlich nach "lat" zu sortieren und nur die Zeilen anzuzeigen bei denen "uhrzeit" und "lat" identisch sind?
PHP-Code:
SELECT *
FROM test
WHERE uhrzeit
IN (
SELECT uhrzeit
FROM (
SELECT uhrzeit, COUNT( * ) AS count
FROM test
GROUP BY uhrzeit
) AS t2
WHERE count >1
)
ORDER BY `test`.`uhrzeit`, `test`.`lat` ASC
Beste Grüße
Mike²
|
06.12.2009, 08:47:33
|
|
Administrator
|
|
Registriert seit: Jul 2004
Beiträge: 3.707
|
|
AW: Doppelte Einträge finden & anzeigen
Zitat:
Zitat von Mike²
[...]
Ist es also möglich, neben "uhrzeit" auch noch zusätzlich nach "lat" zu sortieren und nur die Zeilen anzuzeigen bei denen "uhrzeit" und "lat" identisch sind?
|
Kurz und knapp: JA.
__________________
Gruss vt1816
Erwarte nicht, dass sich jemand mehr Mühe mit der Antwort gibt als Du Dir mit der Frage.
. . . . . Feedback wäre wünschenswert
Ich werde keinen privaten 1:1 Support leisten, außer ich biete ihn ausdrücklich an.
Ansosnten gilt: Hilfe ausserhalb dieses Thread (PN, WhatsApp, Skype, Mail, ICQ, etc...) nur per Barzahlung oder Vorauskasse!
Wenn man sich selbst als "Noob" bezeichnet, sollte man die Finger davon lassen.
Wenn man gewillt ist daran etwas zu ändern, lernt man Grundlagen!
|
06.12.2009, 12:04:36
|
SELFPHP Guru
|
|
Registriert seit: Jan 2004
Ort: Leipzig
Beiträge: 4.549
|
|
AW: Doppelte Einträge finden & anzeigen
Zitat:
Zitat von kosi
damit hatte ich es auch bereits versucht.
wenn ich den befehlt jedoch richtig verstehe, dann gibt er mir eine liste mit allen einträgen die NICHT doppelt sind - schmeisst also alles was mehrfach vorkommt einfach raus.
|
falsch. probieren geht über studieren.
Zitat:
ich bräuchte aber im prinzip das genaue gegenteil: eine liste mit Rechnungsnummern die alle mindestens 2x vorhanden sind und auch 2x aufgeführt werden :-/
trotzdem schonmal danke!
|
select ... group by ... having count( ... ) >= 2.
|
06.12.2009, 12:11:29
|
|
Administrator
|
|
Registriert seit: Jul 2004
Beiträge: 3.707
|
|
AW: Doppelte Einträge finden & anzeigen
@feuervogel,
das Problem von kosi ist bereits seit 03.07.2008 09:02:01 gelöst. ;-)
__________________
Gruss vt1816
Erwarte nicht, dass sich jemand mehr Mühe mit der Antwort gibt als Du Dir mit der Frage.
. . . . . Feedback wäre wünschenswert
Ich werde keinen privaten 1:1 Support leisten, außer ich biete ihn ausdrücklich an.
Ansosnten gilt: Hilfe ausserhalb dieses Thread (PN, WhatsApp, Skype, Mail, ICQ, etc...) nur per Barzahlung oder Vorauskasse!
Wenn man sich selbst als "Noob" bezeichnet, sollte man die Finger davon lassen.
Wenn man gewillt ist daran etwas zu ändern, lernt man Grundlagen!
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
Forumregeln
|
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.
HTML-Code ist aus.
|
|
|
Alle Zeitangaben in WEZ +2. Es ist jetzt 07:39:52 Uhr.
|