2007-01-29

Row_Number()

Row_Number() fonksiyonu SQL Server 2005 ile gelen yeni bir özellik. SQL Serverın 2005'ten önceki versiyonlarda kayıt sırasını gösteren bir fonksiyon yoktu. Ancak bunu Cursor içerisinde kendimiz hallediyorduk veyahut uygulama tarafında verileri çekip bunlara tek tek sıra numarası ekliyorduk. SQL Server 2005 in yanında Oracle'da Row_Number() fonksiyonunu destekleyen veritabanları arasında. Fakat çokça kullanılan PostgreSQL, DB2 ve MySQL gibi veri tabanları Row_Number()' ı henüz desteklemiyor.

Örnek:
SELECT ROW_NUMBER() OVER (ORDER BY CustomerID),* FROM Customers

2 yorum:

  1. Oracle ile kullanılan rownum ve row_number çok kullanışlı.

    SQL> with t as(
    2 SELECT 'A' i, 'X' k, 1 x FROM dual
    3 union all
    4 SELECT 'A' i, 'X' k, 2 x FROM dual
    5 union all
    6 SELECT 'F' i, 'X' k, 1 x FROM dual
    7 union all
    8 SELECT 'F' i, 'Y' k, 6 x FROM dual
    9 union all
    10 SELECT 'F' i, 'X' k, 1 x FROM dual
    11 union all
    12 SELECT 'B' i, 'X' k, 9 x FROM dual
    13 )
    14 SELECT i
    15 ,k
    16 ,x
    17 ,rownum
    18 ,row_number() over(PARTITION BY i ORDER BY x) row_number
    19 FROM t
    20 ;

    I K X ROWNUM ROW_NUMBER
    - - ---------- ---------- ----------
    A X 1 1 1
    A X 2 2 2
    B X 9 6 1
    F X 1 3 1
    F X 1 5 2
    F Y 6 4 3

    6 rows selected

    YanıtlaSil
  2. Mehmet bey merhaba;

    Makalenizden faydalandım, teşekkür ederim. Sizden bir ricam olacak. Bende bir blog yaptım ancak html bilgim olmadığından dolayı, arkaplanı değiştiremedim sanırım siz blogerrın değil kendi özel arka planınızı kullanıyorsunuz. Bana bu konuda yardımcı olabilirseniz sevinirim.

    iyi çalışmalar

    YanıtlaSil

Lütfen yorumlarınızda Ad Soyad ve Web sayfanızın adresini girelim!