Sqlserver
 sql >> Teknologi Basis Data >  >> RDS >> Sqlserver

sql query dengan self join

WITH ranked AS (
  SELECT
    *,
    rn = ROW_NUMBER() OVER (PARTITION BY RecId ORDER BY Dt DESC)
  FROM TableA
)
SELECT
  r1.Id,
  r1.Dt,
  r1.Stat,
  r1.RecId
FROM ranked r1
  INNER JOIN ranked r2 ON r1.RecId = r2.RecId AND r2.rn = 1
WHERE r1.Stat = 2

PERBARUI setelah pembaruan pertanyaan

WITH ranked AS (
  SELECT
    *,
    rn = ROW_NUMBER() OVER (PARTITION BY RecId ORDER BY Dt DESC)
  FROM TableA
)
SELECT
  Id,
  Dt,
  Stat,
  RecId
FROM ranked
WHERE Stat = 2 AND rn = 1


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Pemicu SQL Server AFTER INSERT tidak melihat baris yang baru saja dimasukkan

  2. Cara mendapatkan Daftar Kendala Pemeriksaan Diaktifkan / Dinonaktifkan di Database SQL Server - Tutorial SQL Server / TSQL Bagian 86

  3. Konflik susunan antara SQL_Latin1_General_CP1_CI_AS dan Modern_Spanish_CI_AS sama dengan operasi

  4. Memperkenalkan Fitur Baru - Laporan Pertumbuhan Database Cloud Spotlight

  5. Ganti nama kolom kembali kesalahan