Categories: SQL Server

PAGING windows in T-SQL

di SQL Server 2012 ada metode baru untuk mendapatkan beberapa baris data melalui klausa Select sehingga didapatkan jumlah baris data sesuai yang diinginkan sesuai dengan nilai row offset dan row value yang sudah ditentukan sehingga jumlah record yang di presentasikan di client dapat diatur dengan mekanisme paging.

Sebenarnya dalam hal ini kita memanfaatkan kombinasi OFFSET/FETCH NEXT dengan klausa ORDER BY

untuk lebih jelasnya kita langsung praktek aja. Disini saya menggunakan SQL Server 2012 Developer dan database Adventureworks2012.

Didalam database AdventureWorks2012 ada table yang bernama Production.Product. untuk melihat seluruh baris data yang ada di table tersebut kita gunakan klausa SELECT dengan mengurutkannya berdasarkan field PRODUCTID.

SELECT ProductID,Name,SafetyStockLevel,ReorderPoint
  FROM [Production].[Product] order by ProductID

T-SQL diatas akan mengembalikan 504 baris data yang berurut berdasarkan field PRODUCTID.

jika kita ingin mendapatkan baris-baris data tersebut berdasarkan urutan data yang sudah ditentukan atau misal kita ingin mendapatkan baris data dimana di setiap PAGE akan dimunculkan 10 baris data dapat dibuat dengan T-SQL berikut :

misalkan N adalah angka PAGE yang diinginkan maka :

declare @N int;
  set @N = 1 ;
  declare @offset_increment int = 10;
  declare @current_offset int = (0 + ((@N-1) * @offset_increment));

SELECT ProductID,Name,SafetyStockLevel,ReorderPoint
  FROM [Production].[Product] order by ProductID
offset
@current_offset rows
fetch next
@offset_increment rows only
go

Contoh T-SQL diatas adalah bagaimana jika kita ingin menampilkan data pada PAGE 1 dengan banyak baris data sebanyak 10 record.

Lalu bagaimana jika ingin memanggil 10 record yang berada pada PAGE 10 ?
yaitu dengan menggunakan T-SQL berikut :
declare @N int;
  set @N = 10 ;
  declare @offset_increment int = 10;
  declare @current_offset int = (0 + ((@N-1) * @offset_increment));

SELECT ProductID,Name,SafetyStockLevel,ReorderPoint
  FROM [Production].[Product] order by ProductID
offset
@current_offset rows
fetch next
@offset_increment rows only
go

data yang ditampilkan akan seperti ini

demikian semoga bermanfaat.
admin

Recent Posts

Workshop GIS di PT. AIR MINUM INTAN BANJAR (PERSERODA)

Alhamdulillah telah dipercaya untuk memberikan workshop GIS dengan menggunakan perangkat lunak QGIS di PT. AIR…

3 years ago

Workshop GIS di PERUMDA AM Tirta Ratu Samban

Terimakasih atas kepercayaannya kepada kami sehingga terselenggara Workshop QGIS utk PERUMDA AM Tirta Ratu Samba…

3 years ago

Workshop QGIS Online di Tirta Kahuripan

terimakasih atas kepercayaan Perumda Tirta Kahuripan Kab Bogor kepada saya utk mengimplementasikan GIS Online yang…

3 years ago

Digitasi Vector Menggunakan Spesific Length, Angles or Coordinates

Para operator #GIS kadang mendapatkan sebuah gambar situasi yang diperoleh dari kondisi dilapangan yang kemudian…

4 years ago

Video Seri Belajar Snapping di QGIS

Snapping di QGIS. teknik ini sifatnya wajib untuk dikuasai oleh para operator QGIS dalam kegiatan…

4 years ago

Video Seri Belajar EPANET

Epanet (Environmental Protection Agency Network ) adalah sebuah program komputer yang memiliki kemampuan melaksanakan simulasi…

4 years ago