Sqlserver
 sql >> Teknologi Basis Data >  >> RDS >> Sqlserver

Perilaku SQL Server ROW_NUMBER

Anda hanya perlu memindahkan WHERE klausa ke kueri dalam.

SELECT TeacherID, UniversityID, RowNum FROM
(
    SELECT a.TeacherID, a.UniversityID, ROW_NUMBER() OVER 
     (ORDER BY a.TeacherID) AS RowNum FROM SelectAll a
     LEFT JOIN mp_Ratings r 
     ON a.TeacherID = r.TeacherID 
     WHERE UniversityID = 2
     GROUP BY a.TeacherID, a.UniversityID
) as TeacherInfo WHERE RowNum BETWEEN 10 AND 50;

Anda tidak dapat mengakses RowNum alias di versi luar kueri karena alias belum ada. SELECT diuraikan kedua terakhir, sebelum ORDER BY . WHERE diproses sebelum SELECT .



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. mengisolasi sub-string dalam string sebelum simbol di SQL Server 2008

  2. Menemukan Induk Tingkat Teratas di SQL

  3. SQL:Menggunakan DATEADD dengan bigints

  4. bagaimana cara mendapatkan tanggal mulai dan akhir semua minggu antara dua tanggal di server SQL?

  5. Bangun tabel sementara dengan sql dinamis di SQL Server 2008