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

SQL - Batasi jumlah baris yang dikembalikan berdasarkan jumlah baris

Gunakan ROW_NUMBER() fungsi untuk ini:

SELECT *
FROM (select *,ROW_NUMBER() OVER (PARTITION BY group_id ORDER BY item_id) as RowRank 
      from items_in_groups
      )sub
WHERE RowRank <=2

Demo:SQL Fiddle

 ROW_NUMBER() fungsi memberikan nomor untuk setiap baris. PARTITION BY adalah opsional, tetapi digunakan untuk memulai penomoran ulang untuk setiap nilai dalam grup itu, yaitu:jika Anda PARTITION BY group_id kemudian untuk setiap group_id yang unik nilai penomoran akan dimulai dari 1. ORDER BY tentu saja digunakan untuk menentukan bagaimana penghitungan harus berjalan, dan diperlukan dalam ROW_NUMBER() fungsi.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cara Membuat Alias ​​​​Tipe Data Buatan Pengguna di SQL Server menggunakan T-SQL

  2. SQL Server:Kolom indeks digunakan seperti?

  3. Hasilkan nama acak di sql

  4. Haruskah saya mengindeks bidang bit di SQL Server?

  5. Cara mendapatkan nilai dengan Nama bidang dinamis menggunakan kueri pemilihan sql