Como hacer selección y ordenación de registros

Respuesta de
a
Usuario
Que tal Experto...

Tengo una tabla que contiene varios campos, entre ellos esta, NOMBRE, STATUS. Suponiendo que la tabla contenga estos datos respectivamente:

'ALMENDAREZ','INI'
'RODRIGUEZ','INI'
'ALVAREZ','ORD'
'JUAREZ','ORD'
'PEREZ','TRA'
'AGUIRRE','TRA'

Quiero ordenarlos por el campo STATUS y luego por NOMBRE pero primero me debe ordenar los STATUS = 'INI' o STATUS = 'ORD' y ordenarlos por nombre, luego me debe tomar los STATUS = 'TRA' y ordenarlos por nombre de manera que me queden ordenados así:

'ALMENDAREZ','INI'
'ALVAREZ','ORD'
'JUAREZ','ORD'
'RODRIGUEZ','INI'
'AGUIRRE','TRA'
'PEREZ','TRA'

También he trabajado con oracle y ahí hay una función DECODE() quise utilizarla aquí en MySQL y me manda error, hay una función similar a eso o de que otra forma se puede soluciionar mi problema...

Espero me haya explicado lo suficiente y gracias por la atención.

Espero me haya explicado lo su
Usuario
Gracias por tu respuesta, como te comento en oracle hago por ejemplo la siguiente instrucción: "select DECODE(status,'INI','INI','ORD','INI', 'TRA', 'TRA') as nuevostatus, nombre order by nuevo status, nombre asc" y esta instrucción de SQL si lo permite el servidor de ORACLE, en MySQL manda error si lo pongo tal cual, no se la sintaxis correcta de la función sin embargo si la reconoce el servidor de MySQL...

Gracias por la respuesta
Experto
Las instrucciones SQL solo las permite ordenar por orden alfabético, ascendente o descendente.

La consulta sería más o menos así:

Select * from tabla ORDER BY status,nombre ASC

en este caso te quedarían

'ALMENDAREZ','INI'
'RODRIGUEZ','INI'
'ALVAREZ','ORD'
'JUAREZ','ORD'
'AGUIRRE','TRA'
'PEREZ','TRA'
Usuario
Te agradezco mucho tu ayuda, ya lo probé y funciona muy bien
Experto
He estado averiguando y la instrucción DECODE en Oracle en MySQL funciona como CASE, aquí te mando un ejemplo

oracle:
select DECODE(job_lvl,1,'level 1',2,'level 2','Unknown level') into job_level from employee where job_id>0;
end;

MYSQL:
select CASE job_lvl
WHEN 1 THEN 'level 1
WHEN 2 THEN 'level 2'
ELSE 'Unknown level' end
into job_level from employee where job_id>0 ;
end ;