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

Sử dụng cột dẫn xuất hàm xếp hạng trong mệnh đề where (SQL Server 2008)

Bạn phải di chuyển toán tử WHERE ở trên danh sách dự án nơi cột RowNumber được tạo. Sử dụng bảng dẫn xuất hoặc CTE:

SELECT * 
  FROM (
   SELECT *, ROW_NUMBER() OVER (...) as RowNumber
   FROM ...) As ...
 WHERE RowNumber = ...

CTE tương đương là:

WITH cte AS (
SELECT *, ROW_NUMBER() OVER (...) as RowNumber
       FROM ...)
SELECT * FROM cte 
WHERE RowNumber = ...   


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Lỗi:Không thể lồng nhau câu lệnh INSERT EXEC. và Không thể sử dụng câu lệnh ROLLBACK trong câu lệnh INSERT-EXEC. Làm thế nào để giải quyết điều này?

  2. MS SSQL:Cách sử dụng trường hợp khi là tham số thực thi

  3. Thay đổi sql-server DB từ dạng bảng thành đa chiều

  4. Dịch vụ không dừng hoàn toàn sau ServiceController.Stop ()

  5. Tra cứu Dấu trang trong Máy chủ Sql là gì?