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

Jak usunąć duplikaty ze stronicowania?

Możesz zastosować distinct przed row_number za pomocą podzapytania:

select  *
from    (
        select  row_number() over (order by tbl.id desc) as row
        ,       *
        from    (
                select  distinct t1.ID
                ,       tb1.name
                from    dbo.tb1 as t1
                join    dbo.tb2 as t2
                on      t1.ID = t2.id_tb1
                ) as sub_dist
        ) as sub_with_rn
where   row between 1 and 7


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Wprowadzenie do wbudowanych funkcji z wartościami tabelarycznymi (ITVF) w SQL Server

  2. Usuń profil poczty bazy danych w programie SQL Server (T-SQL)

  3. SQL Identity z wiodącymi dopełnionymi zerami

  4. Używanie zmiennej w zapytaniu OPENROWSET

  5. Dlaczego wstawianie serwera SQL jest tak powolne?