Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

Encomende a tabela aleatoriamente, mas com exceções


Tente isto:
DECLARE @exceptionOrder uniqueidentifier = NEWID()

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

Isso atribuirá o mesmo uniqueidentifier para as linhas de exceção, um uniqueidentifier aleatório para cada uma das outras linhas e, em seguida, ordene por elas.