Hallo,
folgende Einträge in der Datenbank:
highscores
mit meinem Query
will ich bewirken, dass nur der Beste Score (MAX) eines Users heute aufgelistet werden soll. Außerdem soll noch die benötigte Zeit sowie Benutzername ausgegeben werden.
Das Query funktioniert aber nicht richtig. Er zeigt mir zwar den höchsten Score in Kombination mit dem Benutzer an, aber leider zum Score die falsche Zeit "time" (=Zeit die User gebraucht hat). Er listet irgendeine andere Zeit des Benutzers (heute) auf. Warum? Könnt ihr mir helfen?
Gruß,
folgende Einträge in der Datenbank:
highscores
userid | username | score | time | created
----------------------------------------
1 | abc | 120 | 4 | <timestamp>
2 | cde | 150 | 5 | <timestamp>
3 | abc | 130 | 4 | <timestamp>
4 | abc | 120 | 5 | <timestamp>
5 | abc | 360 | 10 | <timestamp>
...
----------------------------------------
1 | abc | 120 | 4 | <timestamp>
2 | cde | 150 | 5 | <timestamp>
3 | abc | 130 | 4 | <timestamp>
4 | abc | 120 | 5 | <timestamp>
5 | abc | 360 | 10 | <timestamp>
...
Code:
SELECT `username`, MAX(`score`) as max_score, `time`, FROM `highscores` WHERE DATE_FORMAT(`created`, '%Y-%m-%d') = DATE_FORMAT(NOW(), '%Y-%m-%d') GROUP BY `userid` ORDER BY max_score DESC LIMIT 10
Das Query funktioniert aber nicht richtig. Er zeigt mir zwar den höchsten Score in Kombination mit dem Benutzer an, aber leider zum Score die falsche Zeit "time" (=Zeit die User gebraucht hat). Er listet irgendeine andere Zeit des Benutzers (heute) auf. Warum? Könnt ihr mir helfen?
Gruß,
Kommentar