sql >> Databasteknik >  >> RDS >> Sqlserver

SQL Server ROW_NUMBER beteende

Du behöver bara flytta WHERE klausul till den inre frågan.

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;

Du kan inte komma åt RowNum alias i den yttre versionen av frågan eftersom aliaset inte finns ännu. SELECT tolkas näst sist, före ORDER BY . WHERE bearbetas före SELECT .



  1. Hur kan jag fixa det här felet:SQL92 som inte stöds?

  2. ScaleGrid lanserar stöd för Google Cloud Platform (GCP) för Managed Database Hosting

  3. ResultSet.next mycket långsamt endast när frågan innehåller FIRST_ROWS eller ROWNUM begränsning

  4. Hur man kör mysqladmin flush-hosts på Amazon RDS