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:

Adsız dedi ki...

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

Adsız dedi ki...

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

.::YASAL UYARI::.

©2004-2023 Mehmet GÜZEL, www.mehmetguzel.net

Site içeriği kaynak gösterilmek koşuluyla yayınlanabilir. Yazılan yazı ve yorumlar sadece yazı ve yorum sahiplerini bağlar.