Vinzenz Mai: SQL-Abfrage - Top 100 sortieren

Beitrag lesen

Hallo,

Produziere (per Unterabfrage) eine Tabelle, die genau die gewünschten Datensätze (in beliebiger Reihenfolge) enthält - so wie Du es gemacht hast - und "SELECT"e dann daraus wiederum alle Datensätze, nach Wunsch geordnet.

genauso solltest Du vorgehen.

hab mich jetzt in die unterabfragen eingelesen. stehe aber immer noch vor einem problem. ich kann leider per unterabfrage nicht genau die datensätze mit den top 100 downloads ermitteln, weil man in unterabfragen kein limit benutzen kann.

Doch das kann man, sogar in MySQL, ich zitiere aus dem entsprechenden Handbuchabschnitt:

<zitat>
    A subquery can contain many of the keywords or clauses that an ordinary
    SELECT can contain: DISTINCT, GROUP BY, ORDER BY, LIMIT, [...].
</zitat>

Nur in ganz bestimmten Fällen nicht, zum Beispiel:

select * from pics where fileid IN
(select fileid from pics order by views desc)
order by title limit 0,100;

Nein, das solltest Du nicht tun. Davon schrieb der Bademeister auch nichts. Verwende *nicht* den IN-Operator. Gehe so vor wie in diesem Archivbeitrag.

Freundliche Grüße

Vinzenz