Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Jak używać ROW_NUMBER()?

Na pierwsze pytanie, dlaczego po prostu nie użyć?

SELECT COUNT(*) FROM myTable 

aby uzyskać rachubę.

A w przypadku drugiego pytania kluczem podstawowym wiersza jest to, co powinno być użyte do zidentyfikowania konkretnego wiersza. Nie próbuj używać do tego numeru wiersza.

Jeśli zwróciłeś Row_Number() w głównym zapytaniu,

SELECT ROW_NUMBER() OVER (Order by Id) AS RowNumber, Field1, Field2, Field3
FROM User

Następnie, gdy chcesz cofnąć się o 5 wierszy, możesz wziąć bieżący numer wiersza i użyć następującego zapytania, aby określić wiersz z bieżącym wierszem -5

SELECT us.Id
FROM (SELECT ROW_NUMBER() OVER (ORDER BY id) AS Row, Id
     FROM User ) us 
WHERE Row = CurrentRow - 5   


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak wygenerować zakres dat w SQL Server

  2. Sposoby łatwej przebudowy głównej bazy danych w SQL Server

  3. tożsamość z sql insert przez jdbctemplate

  4. Jak wyeksportować dane SQL Server z tabeli do pliku CSV

  5. krzyżowe zapytanie xml działa wykładniczo gorzej wraz ze wzrostem dokumentu xml