Ragazzi, le mie lacune in SQL ogni tanto si fanno sentire, percui vi chiedo se questa query è corretta:

codice:
SELECT * FROM menu ORDER BY attivo DESC, ordine ASC
ve lo chiedo perchè non fa quello che vorrei.

In pratica nel campo "attivo" ci può essere 0 o 1, mentre nel campo ordine un intero normale.

Vorrei ordinare le voci di un menu prese da db mostrando per prime le voci attive(1) e per seconde quelle non attive(0), per questo ho messo il DESC.
Vorrei anche che come seconda clausola di ordinamento ci fosse il campo ordine.
Facendo un esempio, ho questa tabella:

codice:
+----+----------+--------+--------+
| id | nome     | attivo | ordine |
+----+----------+--------+--------+
|  0 | Contatti |   0    | 20     |
+----+----------+--------+--------+
|  1 | Home     |   0    | 10     |
+----+----------+--------+--------+
|  2 | Guestbook|   1    | 30     |
+----+----------+--------+--------+
|  3 | Chi Siamo|   1    | 40     |
+----+----------+--------+--------+
e vorrei come risultato della query:
codice:
+----+----------+--------+--------+
| id | nome     | attivo | ordine |
+----+----------+--------+--------+
|  2 | Guestbook|   1    | 30     |
+----+----------+--------+--------+
|  3 | Chi Siamo|   1    | 40     |
+----+----------+--------+--------+
|  0 | Contatti |   0    | 10     |
+----+----------+--------+--------+
|  1 | Home     |   0    | 20     |
+----+----------+--------+--------+
grazie