06/07/2006
SQLServer 2005 ROW_NUMBER() ile Sıralama
Yukon da istenilen satır bazında kayıt çağırmak mümkün hale getirildi.Mesela Windows uygulaması geliştirenler, grid kontrolleri sayesinde istedikleri gibi sayfalama yapamıyordu.Her ne kadar web uygulamaları için bu iş artık çok kolay olsada windows uygulamalarında çok büyük sorun.Fakat yukonda select cümlesinde yazılan komutlar sayesinde bu iş kolaylaştı.
SELECT kolon1, kolon2, kolon3
FROM (
SELECT ROW_NUMBER() OVER (ORDER BY kolon2 )
AS Row, kolon2,kolon3
FROM TabloAdı
) AS TabloAlias
WHERE Row > 0 AND Row <= 50
Bu kod sayesinde TabloAdı isimli tablo, kolon2 isimli kolona göre Order By ediliyor ve çalışma esnasında select edilen query e Row isimli bir kolon daha ekleniyor.Row isimli kolon identitiy gibi 1 den itibaren büyüyerek değer alıyor.Sizde bu kod parçacığı sayesinde ilk 50 kayıdı alıp grid inize yükleyebilirsiniz.Kullanıcı sonraki sayfa dediğinde queryde WHERE Row >0 AND Row <= 50 kısmını WHERE Row > 50 AND Row <= 100 yaparak, sonraki 50 kayıdı alabilirsiniz.Tabiki 50 50 almak zorunda değilsiniz :)
Yukonda sıralama işlemi için 4 ayrı metod hazırlanmış.( ROW_NUMBER(), RANK(), DENSE_RANK(), NTILE() ) Googgle da RANKING FUNCTION yazarak daha ayrıntılı dökümanlara ulaşabilirsiniz.
Windows uygulaması geliştirenlere hayırlı olsun... :)
17:08 Posted in Yukon | Permalink | Comments (0) | Email this
