2013-05-11 22 views
5

Ho una domanda sull'ordinamento mysql. Ho un campo di database con dati come questo 1,6,3,8,4. Ho esploso questo valore del campo e ho effettuato una query personalizzata per un'altra tabella: WHERE id='1' or id='6' or id='3'....Ordinamento personalizzato mysql per valore di campo

Funziona bene, MA il risultato è ASC by id. C'è un modo per far apparire il risultato nello stesso ordine della query?

+0

Non usare 'clausola ORDER BY'! – hjpotter92

risposta

15

Utilizzare la funzione FIELD() nella clausola ORDER BY:

ORDER BY FIElD(id, '1', '6', '3', ...); 

vederlo in azione qui:

+0

ha funzionato perfettamente! Grazie! – user1365447

+0

Cosa succede se prima hai un 'GROUP BY'? Ad esempio, il primo valore che voglio, appare alla fine? – Pathros

Problemi correlati