SELFPHP: Version 5.8.2 Befehlsreferenz - Tutorial – Kochbuch – Forum für PHP Einsteiger und professionelle Entwickler

SELFPHP


Professional CronJob-Service

Suche



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



:: Buchempfehlung ::

Websites optimieren für Google & Co.

Websites optimieren für Google & Co. zur Buchempfehlung
 

:: Anbieterverzeichnis ::

Globale Branchen

Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP  

 

:: Newsletter ::

Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!

Vorname: 
Name:
E-Mail:
 
 

Zurück   PHP Forum > SELFPHP > MySQLi/PDO/(MySQL)

MySQLi/PDO/(MySQL) Anfänger, Fortgeschrittene oder Experten können hier Fragen und Probleme rund um MySQLi/PDO/(MySQL) diskutieren

Antwort
 
Themen-Optionen Ansicht
  #1  
Alt 01.07.2008, 18:44:29
kosi kosi ist offline
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
Mit Zitat antworten
  #2  
Alt 02.07.2008, 11:23:26
cortex cortex ist offline
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
Mit Zitat antworten
  #3  
Alt 02.07.2008, 15:15:29
kosi kosi ist offline
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!
Mit Zitat antworten
  #4  
Alt 02.07.2008, 17:33:47
Gweilo Gweilo ist offline
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?
__________________
http://proofile.org/pppp
Mit Zitat antworten
  #5  
Alt 02.07.2008, 17:44:59
Gweilo Gweilo ist offline
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
)
__________________
http://proofile.org/pppp
Mit Zitat antworten
  #6  
Alt 03.07.2008, 10:02:01
kosi kosi ist offline
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 :)
Mit Zitat antworten
  #7  
Alt 06.12.2009, 06:11:22
Mike² Mike² ist offline
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 uhrzeitCOUNT( * ) AS count
FROM test
GROUP BY uhrzeit
) AS t2
WHERE count 
>1
)
ORDER BY `test`.`uhrzeit`, `test`.`latASC 
Beste Grüße
Mike²
Mit Zitat antworten
  #8  
Alt 06.12.2009, 09:47:33
Benutzerbild von vt1816
vt1816 vt1816 ist offline
Administrator
 
Registriert seit: Jul 2004
Beiträge: 3.707
AW: Doppelte Einträge finden & anzeigen

Zitat:
Zitat von Mike² Beitrag anzeigen
[...]
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!
Mit Zitat antworten
  #9  
Alt 06.12.2009, 13:04:36
feuervogel feuervogel ist offline
SELFPHP Guru
 
Registriert seit: Jan 2004
Ort: Leipzig
Beiträge: 4.549
AW: Doppelte Einträge finden & anzeigen

Zitat:
Zitat von kosi Beitrag 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.
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.
Mit Zitat antworten
  #10  
Alt 06.12.2009, 13:11:29
Benutzerbild von vt1816
vt1816 vt1816 ist offline
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!
Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen
Ansicht

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.

BB-Code ist an.
Smileys sind aus.
[IMG] Code ist aus.
HTML-Code ist aus.

Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Doppelte einträge aus einem Mehrdimensionalen Array aussortieren und löschen PHoenix_KM PHP für Fortgeschrittene und Experten 2 17.04.2008 19:19:53
Einträge mit vergangenem Datum nicht anzeigen, Einträge mit heutigem Datum markieren createc PHP Grundlagen 1 28.11.2007 20:10:34
Doppelte Einträge filtern KTB MySQLi/PDO/(MySQL) 2 15.02.2007 11:08:30
Einträge anzeigen n4pO PHP Grundlagen 3 21.12.2003 12:59:20
Die letzten paar Einträge aus einer Datenbank anzeigen... Holger Specht PHP Grundlagen 1 22.11.2003 02:57:04


Alle Zeitangaben in WEZ +2. Es ist jetzt 09:54:59 Uhr.


Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.


© 2001-2024 E-Mail SELFPHP OHG, info@selfphp.deImpressumKontakt