Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

Агрегирана SQL функция за грабване само на първия от всяка група

Вместо да групирате, действайте така...

select
    *

from account a

join (
    select 
        account_id, 
        row_number() over (order by account_id, id) - 
            rank() over (order by account_id) as row_num from user
     ) first on first.account_id = a.id and first.row_num = 0


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Попълване на набор от данни с имена на таблици от съхранена процедура

  2. Направете while цикъл в SQL Server 2008

  3. Как да създадете ограничение на външния ключ с опция ON DELETE SET NULL в SQL Server - SQL Server / TSQL Урок, част 81

  4. Как програмно определяте кои SQL таблици имат колона за идентичност

  5. Производителност на SQL Server 2005 заявка