Sqlserver
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Sqlserver

Đặt bảng ngẫu nhiên nhưng có ngoại lệ

Hãy thử điều này:

DECLARE @exceptionOrder uniqueidentifier = NEWID()

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

Điều này sẽ chỉ định cùng một uniqueidentifier đối với các hàng ngoại lệ, một uniqueidentifier ngẫu nhiên đến từng hàng còn lại, sau đó sắp xếp theo thứ tự của chúng.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. triển khai Cơ sở dữ liệu SQL Server với ứng dụng Winforms

  2. Trong SQL Server, cách tốt nhất để xác định xem một chuỗi đã cho có phải là XML hợp lệ hay không?

  3. Nhóm và kiểm đếm các giá trị cho mỗi bản ghi trong SQL

  4. SQL Server ARITHABORT

  5. Chế độ xem được lập chỉ mục so với các chỉ mục trên bảng