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

Bagaimana cara mendapatkan catatan pertama dan terakhir per grup di SQL Server 2008?

Bagaimana kalau menggunakan ROW_NUMBER :

SQL Fiddle

WITH Cte AS(
    SELECT *,
        RnAsc = ROW_NUMBER() OVER(PARTITION BY [group] ORDER BY val),
        RnDesc = ROW_NUMBER() OVER(PARTITION BY [group] ORDER BY val DESC)
    FROM tbl
)
SELECT
    id, [group], val, start, [end]
FROM Cte
WHERE
    RnAsc = 1 OR RnDesc = 1
ORDER BY [group], val


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Mengapa dianggap praktik buruk menggunakan kursor di SQL Server?

  2. Perubahan Kolom Metadata Saja Baru di SQL Server 2016

  3. SQL Server:jumlah maksimum baris dalam tabel

  4. Cara Mengganti Nama Batasan Kunci Utama untuk Beberapa Tabel di Database SQL Server - Tutorial SQL Server / TSQL Bagian 64

  5. Cara mendeteksi dan mencegah pertumbuhan tak terduga dari database SQL Server TempDB