MS Sql ile sorguya sıra numarası ekleme
4.592 defa okundu
Konu: SQL Fonksiyonları
İçindekiler
MS Sql ile sorgulara bazen sıra numarası eklemek gerekebilir. Bu işlem için SQL 2005 versiyonunda RANK isminde bir fonksiyon gelmiştir.
Rank fonksiyon aşağıdaki gibi kullanılır. Ancak fonksiyon Sql server 2005 versiyonunda geliştirilmiş olup 2005 ve sonraki versiyonlarda kullanılabilir
SQL
- SELECT RANK() OVER(ORDER BY SIRALAMALANI DESC) AS SIRA,SAHA1,SAHA2,SAHA3 FROM TABLOADI
Örnek: Tablo olmadığı için Select yapıları ile yapay bir tablo üretilmiştir.
SQL
- SELECT RANK() OVER(ORDER BY TARIH) AS SIRA,ADI,SOYADI,TARIH
- FROM
- (SELECT 'AHMET1' AS ADI,'DENEME1' AS SOYADI,'1982-02-10' AS TARIH UNION
- SELECT 'AHMET2' AS ADI,'DENEME2' AS SOYADI,'1980-11-02' AS TARIH UNION
- SELECT 'AHMET3' AS ADI,'DENEME3' AS SOYADI,'1983-02-12' AS TARIH UNION
- SELECT 'AHMET4' AS ADI,'DENEME4' AS SOYADI,'1980-09-14' AS TARIH UNION
- SELECT 'AHMET5' AS ADI,'DENEME5' AS SOYADI,'1980-03-16' AS TARIH UNION
- SELECT 'AHMET6' AS ADI,'DENEME6' AS SOYADI,'1978-02-03' AS TARIH UNION
- SELECT 'AHMET7' AS ADI,'DENEME7' AS SOYADI,'1986-02-01' AS TARIH UNION
- SELECT 'AHMET8' AS ADI,'DENEME8' AS SOYADI,'1985-02-01' AS TARIH UNION
- SELECT 'AHMET1' AS ADI,'DENEME10' AS SOYADI,'1985-02-10' AS TARIH UNION
- SELECT 'AHMET9' AS ADI,'DENEME9' AS SOYADI,'1983-06-01' AS TARIH) AS A1
Sonuç:
| SIRA | ADI | SOYADI | TARIH |
| 1 | AHMET6 | DENEME6 | 03.02.1978 |
| 2 | AHMET5 | DENEME5 | 16.03.1980 |
| 3 | AHMET4 | DENEME4 | 14.09.1980 |
| 4 | AHMET2 | DENEME2 | 02.11.1980 |
| 5 | AHMET1 | DENEME1 | 10.02.1982 |
| 6 | AHMET3 | DENEME3 | 12.02.1983 |
| 7 | AHMET9 | DENEME9 | 01.06.1983 |
| 8 | AHMET8 | DENEME8 | 01.02.1985 |
| 9 | AHMET1 | DENEME10 | 10.02.1985 |
| 10 | AHMET7 | DENEME7 | 01.02.1986 |
Teşekkürler, geri bildiriminiz alındı.