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

SQL Server:Tylko ostatni wpis w GROUP BY

Alternatywne rozwiązanie, które może zapewnić lepszą wydajność (przetestuj w obie strony i sprawdź plany wykonania):

SELECT
     T1.id,
     T1.business_key,
     T1.result
FROM
     dbo.My_Table T1
LEFT OUTER JOIN dbo.My_Table T2 ON
     T2.business_key = T1.business_key AND
     T2.id > T1.id
WHERE
     T2.id IS NULL

To zapytanie zakłada, że ​​identyfikator jest unikalną wartością (przynajmniej dla dowolnego podanego klucza biznesowego) i że jest ustawiony na wartość NOT NULL.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL Server:wiele indeksów dla tej samej wydajności kolumn

  2. Zmiana kolumny:null na not null

  3. Łatwy sposób wybrania odpowiedniej kolumny jako klucza podstawowego dla danej tabeli

  4. INFORMATION_SCHEMA vs sysobjects

  5. Wstawianie ponad 1000 wierszy z Excela do SQLServer