Hi!
Ja, stimmt, das LIMIT muss auch außen hin und nicht in die Teilabfragen.
Das hab ich gemacht :)
Ja, eins. Und das obere muss auch noch raus, oder willst du von den Premiums generell nur 10 angezeigt bekommen?
WHERE
... AND
s.premium <> '1'
ORDER BY
s.premium DESC,
s.time DESCSo funktioniert es auch jedoch werden die Nicht-Premium-Einträge nicht nach s.time DESC sortiert. :-/
Wenn der Wert in s.premium nur 0 oder 1 annehmen kann, und die 1 ausgeschlossen ist, muss auch nicht nach dem Rest sortiert werden. Da in deinem Fall der Rest aber nur (anzunehmenderweise) 0 ist, sollte er keine Auswirkungen auf die Reihenfolge haben, weil dann immer das zweite Sortierkriterium (s.time) zieht. Es sollte also nur so lauten:
ORDER BY
s.time DESC
Warum es dann aber nicht sortieren soll, entzieht sich meiner Kenntnis. Der Feldtyp in s.time ist ein Datumstyp oder ein Integer, der einen Unix-Timestamp verkörpert, oder ein String?
Wenn du mal die zweite Teilabfrage einzeln mit phpMyAdmin oder ähnlichem Tool ausführst, wird es dann richtig sortiert ausgegeben?
Lo!