php.de

Zurück   php.de > Webentwicklung > Datenbanken

Datenbanken SQL und Co

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 12.10.2011, 10:13  
Erfahrener Benutzer
 
Registriert seit: 21.09.2010
Beiträge: 143
PHP-Kenntnisse:
Anfänger
Zulakis befindet sich auf einem aufstrebenden Ast
Standard [Erledigt] update max group

Hi,
ich habe folgende tabelle:
Code:
+----------+-----------+-----------+---------------------+
| uid      | uidnumber | activated | lastsynced          |
+----------+-----------+-----------+---------------------+
| ch       |     10028 |         0 | 2011-10-12 09:55:43 |
| ch       |     10029 |         0 | 2011-10-12 09:57:37 |
| beckervi |     10656 |         0 | 2011-10-12 09:56:06 |
| beckervi |     10657 |         0 | 2011-10-12 09:57:15 |
| ch       |     10030 |         0 | 2011-10-12 10:08:36 |
+----------+-----------+-----------+---------------------+
Nun würde ich gerne jeweils die rows mit gleicher uid groupen und dann falls lastsync das neueste (aka größte) ist activated auf 1 setzen, bei allen anderen auf 0.

Ich habe eben schon ne halbe Stunde dran rumgebastelt, leider reichen meine mysql Kenntnisse aber nicht aus um es selber zu lösen.

Geändert von Zulakis (12.10.2011 um 10:21 Uhr).
Zulakis ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 12.10.2011, 10:19  
Erfahrener Benutzer
 
Registriert seit: 25.01.2009
Beiträge: 1.027
PHP-Kenntnisse:
Fortgeschritten
Capfly befindet sich auf einem aufstrebenden Ast
Capfly eine Nachricht über ICQ schicken Capfly eine Nachricht über MSN schicken
Standard

ORDER BY und LIMIT ?
__________________
MfG
~Capfly
Jetzt NEU! Cpix & Wbits Katahlan.de - Das Browsergame
Capfly ist gerade online   Mit Zitat antworten
Alt 12.10.2011, 10:57  
Erfahrener Benutzer
 
Registriert seit: 19.06.2009
Beiträge: 837
PHP-Kenntnisse:
Fortgeschritten
Jens Clasen ist einfach richtig nettJens Clasen ist einfach richtig nettJens Clasen ist einfach richtig nettJens Clasen ist einfach richtig nettJens Clasen ist einfach richtig nett
Standard

Order By & Limit werden nur funktionieren, wenn das ganze immer für einen bestimmten User gemacht wird.

Eine hinreichend aktuelle MySQL-Version vorausgesetzt, könnte man wie folgt auch alle User erschlagen:

Code:
UPDATE
  tabelle t
    INNER JOIN (SELECT t2.uid, MAX(t2.lastsynced) AS dt FROM tabelle t2 GROUP BY t2.uid) s
      ON t.uid=s.uid
SET
  t.activated=IF(t.lastsynced=s.dt,1,0)
(Ja, ich weiß, dass im Manual was anderes steht. Das ganze funktioniert aber trotzdem bei Subselects in der Tabellenreferenz.)

Gruß Jens
Jens Clasen ist offline   Mit Zitat antworten
Alt 12.10.2011, 11:46  
Erfahrener Benutzer
 
Registriert seit: 21.09.2010
Beiträge: 143
PHP-Kenntnisse:
Anfänger
Zulakis befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von Jens Clasen Beitrag anzeigen
Order By & Limit werden nur funktionieren, wenn das ganze immer für einen bestimmten User gemacht wird.

Eine hinreichend aktuelle MySQL-Version vorausgesetzt, könnte man wie folgt auch alle User erschlagen:

Code:
UPDATE
  tabelle t
    INNER JOIN (SELECT t2.uid, MAX(t2.lastsynced) AS dt FROM tabelle t2 GROUP BY t2.uid) s
      ON t.uid=s.uid
SET
  t.activated=IF(t.lastsynced=s.dt,1,0)
(Ja, ich weiß, dass im Manual was anderes steht. Das ganze funktioniert aber trotzdem bei Subselects in der Tabellenreferenz.)

Gruß Jens
Hier fehlt eindeutig der Smiley.

Genial, danke!

Jetzt muss ich nur noch versuchen das ganze zu verstehen
Zulakis ist offline   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
[Erledigt] PS / Update wird immer ausgeführt _cyrix_ PHP Einsteiger 29 22.05.2011 17:26
mit if bei update überprüfen ob Konto leer, dann Fehler ausgeben ejay PHP Einsteiger 11 15.04.2011 15:15
Ausgabe erfolgt nicht Extremefall PHP Tipps 2009 17 17.12.2009 19:51
XML Import in OOP Creator Software-Design 12 15.12.2009 11:52
UPDATE Set WHERE Problem IIYTII PHP Tipps 2009 6 07.12.2009 12:20
[Erledigt] SQL Anweisung sadry PHP Tipps 2009 38 20.08.2009 11:28
mySQL UPDATE gibt Fehler aus Tyrra PHP Tipps 2009 12 11.08.2009 18:03
[Erledigt] UPDATE wird trotz if clause vor SELECT ausgeführt Slithers Datenbanken 2 10.06.2009 16:13
Update / syntaxfehler prinzli Datenbanken 7 24.11.2007 21:24
Parsen von Delimitern Basti Tutorials 0 30.09.2006 21:24
Befehlsoptimierung faux Datenbanken 4 31.05.2005 19:11
Update per Cronjob (where Feld = Wort) Apfeltyp PHP Tipps 2004-2 3 14.12.2004 18:25
if abfrage + update PHP Tipps 2004 2 13.07.2004 09:48


Alle Zeitangaben in WEZ +2. Es ist jetzt 14:52 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