clausole order

Monital

Utente Attivo
15 Apr 2009
778
2
18
Buondì,

allora cercando ingn iro ho trovato qualcosa per ordinare come vorrei ma non riesco a farlo funzionare

allor ain sostnza spiego brevemente
questi i capi da ordinare dal più grande al più piccolo

Nom|campo1|campo2|campo3
pippo|90|50|80
toplino|50|85|40
pluto|70|60|50

quando inserisco la clausola order by campo1 DESC,campo2 DESC, campo3 DESC

ovviamente mi ordina prima
pippo|90|50|80
pluto|70|60|50
toplino|50|85|40

ed ovviamente a parità della prima condizione applica la seconda però io vorrei farla ordinare inq uesta maniera
pippo|90|50|80
toplino|50|85|40
pluto|70|60|50

cioè deve farlo ordinare epr riga quindi per ogni riga deve trovare prima il campo1 max poi il campo 2 max e epoi il campo3 max

perchè ad esempio ci potrebbe essere minni che ha
minni|10|90|90

e quindi me la fa vedere epr ultima

ho trovato ad esempio (campo1/campo2), campo3 DESC ma non riescoa farla funzioanre sembra ordinare in amniera casuale

suggerimenti?
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
credo che tu non possa fare quello che dici, se indichi più campi nell'ORDER BY, indipendentemente da des o asc, come hai detto
...ovviamente a parità della prima condizione applica la seconda...
del resto quello che vuoi fare non è un ordinamento perchè o ordini per una chiave o ordini per un'altra.

poi dove hai trovato quella sintassi?
(campo1/campo2), campo3 DESC
guardando sul manuale non l'ho trovata
 

Monital

Utente Attivo
15 Apr 2009
778
2
18
ciao
credo che tu non possa fare quello che dici, se indichi più campi nell'ORDER BY, indipendentemente da des o asc, come hai detto

del resto quello che vuoi fare non è un ordinamento perchè o ordini per una chiave o ordini per un'altra.

poi dove hai trovato quella sintassi?

guardando sul manuale non l'ho trovata

in un forum scartabellando in giro

però se lo applichi direttamente in php admin ti rodina così anche se non ho capito eprchè ti emtte la seconda ASC. Però nellos cript me li rodina a casaccio.
 

Trogo

Utente Attivo
11 Gen 2008
370
0
0
43
Sanremo
Puoi provare con GREATEST:

SELECT * FROM table ORDER BY GREATEST(campo1, campo2, campo3) DESC

Credo che faccia proprio al caso tuo
 

Monital

Utente Attivo
15 Apr 2009
778
2
18
Puoi provare con GREATEST:

SELECT * FROM table ORDER BY GREATEST(campo1, campo2, campo3) DESC

Credo che faccia proprio al caso tuo


grzie trogo sembra proprio lui ma nel amnuale dice che estrae il più grande tra i valori, inq eusto caso come ordina? non sono risucito a capirlo, a vista sembra bene però forse fai prima te a spiegare come ordina che io a spiegarti cosa non mi ocnvince

grazie delle delucidazioni
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
mi sembra semplice, ti fai la tabella e provo

pippo|90|50|80
pluto|70|60|50
toplino|50|85|40
minni|10|90|90

se fa quello che vuoi funzia, altrimenti no
 

Discussioni simili