MySQL - kolejność 'order by'


(Zagorskid) #1

Witam!

Czy da się ustalić przy zapytaniu do MySQLa kolejność pobierania danych z pól przy użyciu ORDER BY? Dokładniej chodzi mi o to, że mam skrypt galerii i chiałbym pobrać informacje o 3 zdjęciach z najwyższą średnią ocen. Wykonuje to zapytanie:

$query = mysql_query("SELECT * FROM galeria ORDER BY srocen DESC LIMIT 3");

I problem jest taki, że chciałbym, aby kolejnym polem branym pod uwagę (kiedy oceny są takie same) było pole 'ilość ocen' a nie ID (PRIMARY KEY).


(Lisek) #2

Dajesz po prostu po przecinku kolejne pole do sortowania:

$query = mysql_query("SELECT * FROM galeria ORDER BY srocen DESC, iloscOcen DESC LIMIT 3

(Zagorskid) #3

Działa - dzięki! :slight_smile:

Próbowałem trochę podobnie, ale mi nie wychodziło:

$query = mysql_query("SELECT * FROM galeria ORDER BY srocen, ilocen DESC LIMIT 3");

Nie dodałem do drugiego (a raczej pierwszego) warunku DESC i wyświetlało tylko zdjęcia ze średnią 0,00 :wink:.