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

Ingin mempelajari lebih lanjut tentang NTILE()

Anggap saja sebagai ember, NTILE (2) akan membuat 2 ember, setengah baris akan memiliki nilai 1 dan setengah lainnya bernilai 2

contoh

create table  #temp(StudentID char(2),    Marks  int) 
insert #temp  values('S1',75 ) 
insert #temp  values('S2',83)
insert #temp  values('S3',91)
insert #temp  values('S4',83)
insert #temp  values('S5',93 ) 


select NTILE(2) over(order by Marks),*
from #temp
order by Marks

Inilah hasilnya, karena Anda memiliki jumlah baris yang tidak merata, ember 1 akan memiliki 1 baris lagi

1   S1  75
1   S2  83
1   S4  83
2   S3  91
2   S5  93

Jika Anda menambahkan satu baris lagi

insert #temp  values('S6',92 ) 

Sekarang kedua ember memiliki 3 baris

1   S1  75
1   S2  83
1   S4  83
2   S3  91
2   S6  92
2   S5  93

Pada kenyataannya saya tidak pernah menggunakan NTILE dalam kode produksi tetapi saya dapat melihat penggunaan di mana Anda perlu membagi hasilnya menjadi n jumlah ember



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Skrip Inventaris Koleksi SQL Server -3

  2. Cara tercepat untuk menentukan apakah ada catatan

  3. Ubah Jadwal Agen Server SQL (T-SQL)

  4. Metode yang disarankan untuk mengimpor file .csv ke Microsoft SQL Server 2008 R2?

  5. Skema server SQL dan skema default