fritz85: MySQL order by + rand()

Beitrag lesen

Hello

Ja, stimmt, das LIMIT muss auch außen hin und nicht in die Teilabfragen.

Das hab ich gemacht :)

(SELECT ...  
 FROM `eintraege` AS `s`  
    LEFT JOIN ...  
  WHERE  
   ... AND  
    s.premium = '1'  
  ORDER BY RAND()  
  LIMIT 0, 10)  
 UNION  
 (SELECT ...  
  FROM `eintraege` AS `s`  
    LEFT JOIN ...  
  WHERE  
    ... AND  
    s.premium <> '1'  
  ORDER BY  
    s.premium DESC,  
    s.time DESC  
  ) LIMIT 0, 10

So funktioniert es auch jedoch werden die Nicht-Premium-Einträge nicht nach s.time DESC sortiert. :-/