İçeriğe geç

MS Sql ile sorguya sıra numarası ekleme

4.592 defa okundu

Konu: SQL Fonksiyonları

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
  1. 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
  1. SELECT RANK() OVER(ORDER BY TARIH) AS SIRA,ADI,SOYADI,TARIH
  2. FROM
  3. (SELECT 'AHMET1' AS ADI,'DENEME1' AS SOYADI,'1982-02-10' AS TARIH UNION
  4. SELECT 'AHMET2' AS ADI,'DENEME2' AS SOYADI,'1980-11-02' AS TARIH UNION
  5. SELECT 'AHMET3' AS ADI,'DENEME3' AS SOYADI,'1983-02-12' AS TARIH UNION
  6. SELECT 'AHMET4' AS ADI,'DENEME4' AS SOYADI,'1980-09-14' AS TARIH UNION
  7. SELECT 'AHMET5' AS ADI,'DENEME5' AS SOYADI,'1980-03-16' AS TARIH UNION
  8. SELECT 'AHMET6' AS ADI,'DENEME6' AS SOYADI,'1978-02-03' AS TARIH UNION
  9. SELECT 'AHMET7' AS ADI,'DENEME7' AS SOYADI,'1986-02-01' AS TARIH UNION
  10. SELECT 'AHMET8' AS ADI,'DENEME8' AS SOYADI,'1985-02-01' AS TARIH UNION
  11. SELECT 'AHMET1' AS ADI,'DENEME10' AS SOYADI,'1985-02-10' AS TARIH UNION
  12. 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

Bu yazı işinize yaradı mı?

SQL Fonksiyonları konusundaki diğer yazılar

SQL Fonksiyonları: 13 yazının tümü →

WhatsApp'ta paylaş

İlgili Yazılar