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.
hi,
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.
so sieht meine abfrage gerade aus:
select * from pics where fileid IN
(select fileid from pics order by views desc)
order by title limit 0,100;
ich hab in der unterabfrage nach views geordnet, weil ich mir gedacht hab dass mysql vielleicht die ersten 100 nimmt und diese dann nach titel sortiert, weil ich ja am ende ein limit von 100 hab.
leider ist es so, dass mysql erstmal alle daten von der unterabfrage auswerten und dann erst sortiert. somit ist die obige abfrage eigentlich gleichwertig mit dieser:
select * from pics order by title limit 0,100;
und mit dieser abfrage wäre das problem behoben:
select * from pics where fileid IN
(select fileid from pics order by views desc limit 100)
order by title limit 0,100;
nur ist limit, wie gesagt ja nicht erlaubt.
noch eine idee?
mfg
pitt