Order By

Arndtinho

Erfahrenes Mitglied
Hallo,

ich schicke folgende Abfrage an eine Datenbank, um Zufallsbilder zu einer entsprechenden Kategorie zu finden:
PHP:
$sql = "SELECT gal_photos.cat_id, 
                         gal_photos.image_name, 
                         gal_cat.cat_name, 
                         gal_cat.cat_date,
                         gal_cat.cat_thumb_path
          FROM gal_photos, gal_cat
          WHERE gal_cat.cat_id = gal_photos.cat_id
          ORDER BY RAND()";
Dies funktioniert auch soweit so gut. Nun möchte ich aber das Ergebnis sortiert nach Datum ( 'gal_cat.cat_date' ) haben. Ich habe versucht dies bei "ORDER BY" unterzubringen, aber das funktioniert nicht.
Wie muss man das lösen?

Gruß,
Arndtinho
 
Hmmmm...

ich weiss net, ob das geht. :( Entweder Zufall oder andere Sortierung.

Du könntest höchstens eine bestimmte Gruppe in der Where-Bedinung filtern.

z.b. wenn mehrere Datensätze das heutige Datum haben und Du möchtest einen Zufallsdatensatz vom heute darstellen.
 
Sortieren nach Datum (absteigend, jüngstes zuerst), wenn dieses identisch ist, dann zufällig:
Code:
SELECT gal_photos.cat_id,
                         gal_photos.image_name,
                         gal_cat.cat_name,
                         gal_cat.cat_date,
                         gal_cat.cat_thumb_path
          FROM gal_photos, gal_cat
          WHERE gal_cat.cat_id = gal_photos.cat_id
          ORDER BY gal_cat.cat_date DESC, RAND()
Wenn es jedoch ein DATETIME ist, solltest Du mit TO_DAYS arbeiten, da es wegen des Zeitanteils vermutlich nie gleich ist (oder Du entfernst die Sortierung nach RAND).

Gruß hpvw
 
Zurück