Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

Bestelltabelle nach dem Zufallsprinzip, aber mit Ausnahmen

Versuchen Sie Folgendes:

DECLARE @exceptionOrder uniqueidentifier = NEWID()

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

Dadurch wird derselbe uniqueidentifier zugewiesen zu den Ausnahmezeilen ein zufälliger uniqueidentifier zu jeder der restlichen Zeilen hinzufügen und dann nach ihnen sortieren.