sql >> Base de Datos >  >> RDS >> Sqlserver

Ordenar mesa al azar pero con excepciones

Prueba esto:

DECLARE @exceptionOrder uniqueidentifier = NEWID()

SELECT ID, Category, Code
FROM yourTable
ORDER BY CASE WHEN Category = 'C' AND Code = 101 THEN @exceptionOrder ELSE NEWID() END

Esto asignará el mismo uniqueidentifier a las filas de excepción, un uniqueidentifier aleatorio a cada una de las demás filas, luego ordene por ellas.