De nuevo pon algunos ejemplos de tus datos y de que es lo que quieres que aparezca, asi como dices entiendo que si te dicen usuario=2 entonces los datos del usuario 2 se desplegarian ordenados y despues los del usuario 1,3,4(esto no se como lo deduces) y despues los demas.......si asi fuera porque no creas una tabla temporal con un campo identity digamos orden y ahi insertas el valor de tu consulta algo asi:
Código SQL:
Ver originalCREATE TABLE #temp
(
id INT,
orden INT IDENTITY(1,1)
)
INSERT INTO #temp (id)
SELECT id FROM tabla WHERE id=2
INSERT INTO #temp (id)
SELECT id FROM tabla WHERE id IN (1,3,4)
INSERT INTO #temp
SELECT id FROM tabla WHERE id NOT IN (1,2,3,4)
Asi te regresaria una tabla con un campo por el cual podrias ordenar en este caso el identity :)
Saludos!