Archiv verlassen und diese Seite im Standarddesign anzeigen : GROUP BY und ORDER BY Problem
Notorious
21.04.2015, 17:19
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.
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..
Du hast "ODER BY" geschrieben und nicht "ORDER BY"..
Mal davon abgesehen ist "SELECT *" ein NoGo.
Notorious
21.04.2015, 17:23
Mal davon abgesehen ist "SELECT *" ein NoGo.
Es wird keine Seite und wird nicht Online gestellt, es ist nur zum generieren einer Liste da
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?
Notorious
21.04.2015, 17:44
http://puu.sh/hlNZf/703abc8050.png
Das ist für die times Tabelle
Vorschlag wenn Integer für Type und Style verwendet:
SELECT * FROM `times` WHERE `Type` = 0 AND `Style` = 0 GROUP BY `MapID` ORDER BY `Time`
Ansonsten:
SELECT * FROM `times` WHERE `Type` = '0' AND `Style` = '0' GROUP BY `MapID` ORDER BY `Time`
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
Notorious
21.04.2015, 23:51
@sn0w Der query ging leider nicht, also hab ich nach der ganzen sucherei es endlich hinbekommen...
Ich hoffe es hilft den anderen.
SELECT * FROM ( SELECT * FROM times WHERE Type = '0' AND Style = '0' ORDER BY Time
) t
GROUP BY MapID
Warum ein Subselect? Hab das ganze jetzt mal reproduziert und so getestet.
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.
Powered by vBulletin® Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.