php.de

Zurück   php.de > Webentwicklung > Datenbanken

Datenbanken SQL und Co

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 27.05.2005, 15:44  
Benutzer
 
Registriert seit: 29.06.2004
Beiträge: 52
Transmitter
Standard Datetime vergleichen

Hi

Ich habe Datensätze die jeweils ein Datetime gespeichert haben.

Jetzt will ich zu einem Namen, die Datensätze löschen, die im Datetime Feld näher als 30 Minuten zusammen liegen, nur ein Datensatz soll aufgehoben werden.

Bsp:
Name | Uhrzei | Satus
Michael | 2005-05-21 17:26:12 | angemeldet
Michael | 2005-05-21 18:26:12 | angemeldet
Michael | 2005-05-21 18:29:42 | angemeldet
Michael | 2005-05-21 19:26:12 | angemeldet

Da muss z.B. der Datensatz Michael | 2005-05-21 18:29:42 | angemeldet gelöscht werden.

Leider komme ich nicht weiter beim Vergleichen der Datetimes, wie macht man das denn am besten, wenn man nicht auf ein festes, hardcodiertes Datum prüfen will, sondern auf die Daten, die schon der DB liegen?

Danke schon mal
Bye, Transmitter
Transmitter ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 27.05.2005, 15:55  
Gast
 
Beiträge: n/a
Standard

Denkanstoß:
Code:
SELECT a.name,a,uhrzeit,a.status
FROM NameDerTabelle as a
JOIN NameDerTabelle as b
ON a.name=b.name
WHERE a.uhrzeit > b.uhrzeit
AND a.uhrzeit < b.uhrzeit + Interval 30 minute
Aber Vorsicht:
a.uhrzeit < b.uhrzeit + Interval 30 minute kann natürlich nicht aus einem Index bedient werden - hochperformant ist das auf keinen Fall.
  Mit Zitat antworten
Alt 28.05.2005, 00:47  
Benutzer
 
Registriert seit: 29.06.2004
Beiträge: 52
Transmitter
Standard

Hochperformant soll das nicht werden, aber mein Server steigt dann immer auf 99% Prozessorauslastung und nichts geht mehr

Das ganze muss nur einmal ausgeführt werden, aber was performanteres gibt es da nicht?
Transmitter ist offline   Mit Zitat antworten
Alt 28.05.2005, 01:16  
Gast
 
Beiträge: n/a
Standard

Für name und uhrzeit ist hoffentlich jeweils ein Index eingerichtet?
  Mit Zitat antworten
Alt 28.05.2005, 01:34  
Benutzer
 
Registriert seit: 29.06.2004
Beiträge: 52
Transmitter
Standard

Ja, jetzt sind die Indexe eingerichtet

Ich spiele gerade mit
Code:
AND a.Uhrzeit < b.Uhrzeit - '0000-00-00 00:03:00'
rum ..

Bei < und + wird gar nicht ausgegeben, bei > und - werden alle Daten ausgegeben.
Durch den JOIN werden die Daten wohl auch als Kreuzprodukt returned .. ich habe mehr Datensätze als überhaupt vorhanden sind :-/
Transmitter ist offline   Mit Zitat antworten
Alt 28.05.2005, 09:47  
Gast
 
Beiträge: n/a
Standard

Ja, das bildet das Kreuzprodukt und ja, so können leicht mehr Ergebniss- als Quelldatensätze entstehen.
b.Uhrzeit - '0000-00-00 00:03:00' ist nur eine andere Schreibweise für - Interval 30 minute

mit
Code:
SELECT a.name,a.uhrzeit
FROM NameDerTabelle as a
JOIN NameDerTabelle as b
ON a.name=b.name
WHERE a.uhrzeit > b.uhrzeit
AND a.uhrzeit < b.uhrzeit + Interval 30 minute
bekomme ich
Zitat:
name,uhrzeit
Michael,2005-05-21 18:29:42
geliefert
  Mit Zitat antworten
Antwort


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
ausgelesene Werte im Array vergleichen - Möglich!? vampsoftchef PHP Tipps 2006 2 22.08.2006 14:34
datum vergleichen LP PHP Tipps 2006 2 18.07.2006 15:12
datetime - komplexes select hans_ Datenbanken 5 17.04.2006 22:47
[Erledigt] Tabelle auslesen und vergleichen Datenbanken 4 13.03.2006 20:30
Zwei Strings vergleichen Bunnydog PHP Tipps 2006 5 21.01.2006 14:10
wie kann man datums vergleichen mollitz PHP Tipps 2007 15 22.12.2005 09:42
[Erledigt] 2 Arrays miteinander vergleichen PHP Tipps 2007 3 17.12.2005 16:54
[Erledigt] Objekte vergleichen PHP-Fortgeschrittene 4 08.12.2005 16:20
[Erledigt] SQL =&gt; CHARACTER zu DATETIME Datenbanken 1 23.08.2005 13:29
DATETIME auf "0" setzen? Datenbanken 9 03.06.2005 15:56
variablen vergleichen PHP Tipps 2005 18 18.05.2005 19:24
[Erledigt] Bilder vergleichen? PHP-Fortgeschrittene 7 20.04.2005 15:52
timestamps vergleichen - Syntaxfrage Alpha Centauri Datenbanken 4 21.03.2005 21:48
Formulardaten mit MySQL Datenfeld vergleichen PHP Tipps 2005 4 15.03.2005 20:15
[Erledigt] Datum vergleichen PHP Tipps 2004 3 19.10.2004 12:09

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php datetime vergleichen, sql datetime vergleichen, sql date vergleichen, datetime vergleichen, php date vergleichen, php time vergleichen, php datum vergleichen, sql zeit vergleichen, mysql datetime vergleichen, datetime vergleichen php, php datetime vergleich, php datetime, sql datum vergleichen, mysql datetime vergleich, php mysql datetime vergleichen, sql datetime vergleich, datetime vergleichen sql, datetime php vergleichen, datetime php, sql uhrzeit vergleichen

Alle Zeitangaben in WEZ +2. Es ist jetzt 08:55 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.