M
Morlon2
Hi,
erstmal kurz nen paar Beispiel-DS:
stat_id - gilden_id - spieler - time - value
1 - 1 - Name1 - 20100924000000 - 5
2 - 1 - Name2 - 20100924000000 - 9
3 - 1 - Name3 - 20100924000000 - 6
4 - 1 - Name1 - 20100925000000 - 7
5 - 1 - Name2 - 20100925000000 - 9
6 - 1 - Name3 - 20100925000000 - 12
7 - 1 - Name2 - 20100926000000 - 11
8 - 1 - Name3 - 20100926000000 - 6
9 - 2 - Name1 - 20100924000000 - 5
10 - 2 - Name4 - 20100924000000 - 5
11 - 2 - Name4 - 20100925000000 - 6
Was ich aus der Tabelle jetzt brauch, wären alle Spieler einer bestimmten Gilde, von denen zum Zeitpunkt der letzten Datenerfassung Werte vorhanden waren. Sortiert nach Value zum letzten Zeitpunkt
Wenn ich vom oberen Beispiel also zb gilde 2 auswerten will bräuchte ich folgende Ausgabe:
7 - 1 - Name2 - 20100926000000 - 11
8 - 1 - Name3 - 20100926000000 - 6
Name1 fällt weg, weil ich zum 26.09. keine Werte hab, Name2 als erstes, da er zu diesem Datum den höchsten value hat.
Mein Ansatz:
SELECT spieler, value, max( time ) AS maxtime
FROM tabelle
WHERE gilden_id = 1
GROUP BY spieler
ORDER BY value DESC , time DESC
würde ausgeben:
1 - Name3 - 20100926000000 - 12
1 - Name2 - 20100926000000 - 11
1 - Name1 - 20100925000000 - 7
kann mir wer unter die arme greifen?
bin etwas ratlos und nicht so sehr bewandert was sql angeht... :-/
danke schonmal,
Morlon
erstmal kurz nen paar Beispiel-DS:
stat_id - gilden_id - spieler - time - value
1 - 1 - Name1 - 20100924000000 - 5
2 - 1 - Name2 - 20100924000000 - 9
3 - 1 - Name3 - 20100924000000 - 6
4 - 1 - Name1 - 20100925000000 - 7
5 - 1 - Name2 - 20100925000000 - 9
6 - 1 - Name3 - 20100925000000 - 12
7 - 1 - Name2 - 20100926000000 - 11
8 - 1 - Name3 - 20100926000000 - 6
9 - 2 - Name1 - 20100924000000 - 5
10 - 2 - Name4 - 20100924000000 - 5
11 - 2 - Name4 - 20100925000000 - 6
Was ich aus der Tabelle jetzt brauch, wären alle Spieler einer bestimmten Gilde, von denen zum Zeitpunkt der letzten Datenerfassung Werte vorhanden waren. Sortiert nach Value zum letzten Zeitpunkt
Wenn ich vom oberen Beispiel also zb gilde 2 auswerten will bräuchte ich folgende Ausgabe:
7 - 1 - Name2 - 20100926000000 - 11
8 - 1 - Name3 - 20100926000000 - 6
Name1 fällt weg, weil ich zum 26.09. keine Werte hab, Name2 als erstes, da er zu diesem Datum den höchsten value hat.
Mein Ansatz:
SELECT spieler, value, max( time ) AS maxtime
FROM tabelle
WHERE gilden_id = 1
GROUP BY spieler
ORDER BY value DESC , time DESC
würde ausgeben:
1 - Name3 - 20100926000000 - 12
1 - Name2 - 20100926000000 - 11
1 - Name1 - 20100925000000 - 7
kann mir wer unter die arme greifen?
bin etwas ratlos und nicht so sehr bewandert was sql angeht... :-/
danke schonmal,
Morlon