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

najnowsza (maksymalna) data dla każdego identyfikatora

możesz wybrać maksymalną datę dla każdej grupy identyfikatorów jako

SELECT a,
    b,
    max(b) OVER (PARTITION BY a) AS c
FROM myTable
ORDER BY a,b

EDYTUJ: jednym z możliwych rozwiązań dla drugiej (edytowanej) części pytania jest

WITH cte AS (
    SELECT a,
        b,
        max(b) OVER (PARTITION BY a) AS c,
        d
    FROM myTable
)
SELECT t1.a,
    t1.b,
    t1.c,
    t1.d,
    t2.d AS e
FROM cte t1
JOIN cte t2 ON t1.a=t2.a AND t1.c=t2.b


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. T-SQL:usuwanie wszystkich zduplikowanych wierszy, ale zachowanie jednego

  2. Jak połączyć bazę danych programu Access z serwerem SQL w programie Access 2016

  3. Automatycznie rozwiąż konflikt scalania kluczy podstawowych

  4. SPRÓBUJ CATCH z połączonym serwerem w SQL Server 2005 nie działa

  5. SQL Server 2016:Utwórz tabelę ze skryptu SQL