GROUP BY und ORDER BY Problem
Ich hab folgendes Problem, ich will eine Liste generieren wo man Maps mit bestimmten Zeiten auslesen kann. Nur ich will, dass genau die beste Zeit also die lowest time angezeigt wird. Group by deswegen weil ich nicht mehrere/doppelte Einträge ausgeben will und order by wegen der besten Zeit.
Code:
SELECT * FROM times WHERE Type = '0' AND Style = '0' GROUP BY MapID ORDER BY Time
Es gibt mir nichts aus, könnte mir jemand dabei helfen?
Habe es auch mit INNER JOIN probiert aber ich bin mir sicher, dass ich da was falsch mache..
AW: GROUP BY und ORDER BY Problem
Du hast "ODER BY" geschrieben und nicht "ORDER BY"..
Mal davon abgesehen ist "SELECT *" ein NoGo.
AW: GROUP BY und ORDER BY Problem
Zitat:
Zitat von
n00kie
Mal davon abgesehen ist "SELECT *" ein NoGo.
Es wird keine Seite und wird nicht Online gestellt, es ist nur zum generieren einer Liste da
AW: GROUP BY und ORDER BY Problem
Zitat:
Zitat von
Notorious
Es wird keine Seite und wird nicht Online gestellt, es ist nur zum generieren einer Liste da
Okay, wie ich sehe hast du den Rechtschreibfehler hier korrigiert. Daran hat es also nicht gelegen. Wie sieht den Aufbau der Tabelle "times" aus?
AW: GROUP BY und ORDER BY Problem
AW: GROUP BY und ORDER BY Problem
Vorschlag wenn Integer für Type und Style verwendet:
Code:
SELECT * FROM `times` WHERE `Type` = 0 AND `Style` = 0 GROUP BY `MapID` ORDER BY `Time`
Ansonsten:
Code:
SELECT * FROM `times` WHERE `Type` = '0' AND `Style` = '0' GROUP BY `MapID` ORDER BY `Time`
AW: GROUP BY und ORDER BY Problem
Du verwendest keine Aggregatfunktionen, also besser DISTINCT als GROUP BY verwenden. Ist meiner Meinung nach ein besserer Stil, auch wenn das Resulat gleich ist.
Gruß
Domenic
AW: GROUP BY und ORDER BY Problem
@sn0w Der query ging leider nicht, also hab ich nach der ganzen sucherei es endlich hinbekommen...
Ich hoffe es hilft den anderen.
Code:
SELECT * FROM ( SELECT * FROM times WHERE Type = '0' AND Style = '0' ORDER BY Time
) t
GROUP BY MapID
AW: GROUP BY und ORDER BY Problem
Warum ein Subselect? Hab das ganze jetzt mal reproduziert und so getestet.
Code:
SELECT MapID, min(Time)
FROM times
WHERE Type=0 AND Style=0
GROUP BY MapID
ORDER BY Time
Bekomme zu jeder MapID die beste Zeit ausgegeben.