folder Tahribat.com Forumları
linefolder Database - Veritabanı
linefolder SQL - Tabloda Kaçıncı Sırada Olduğunu Bulmak



SQL - Tabloda Kaçıncı Sırada Olduğunu Bulmak

  1. KısayolKısayol reportŞikayet pmÖzel Mesaj
    cemnet
    cemnet's avatar
    Kayıt Tarihi: 18/Eylül/2007
    Erkek

    üyeler tablosu var ve Puan sutunu var o tabloda. Kaç kişi arasından kaçıncı olduğunu gösteren bir t-sql kodu lazım arkadaşlar

    teşekkürler

  2. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Yazilimci
    Yazilimci's avatar
    Kayıt Tarihi: 01/Şubat/2014
    Erkek

    select * from uyeler

    order by UYE_puan desc

     

    yazdığından anladığım kadarıyla bu işini görür. Bu bilgi sana tüm üyeleri puanlarına göre sıralar.

    Yazilimci tarafından 20/Haz/14 12:36 tarihinde düzenlenmiştir

    Titanyumun gücü adına!!!
  3. KısayolKısayol reportŞikayet pmÖzel Mesaj
    cemnet
    cemnet's avatar
    Kayıt Tarihi: 18/Eylül/2007
    Erkek

    tek sql satırında halledilebilir diye düşünüyorum iki bilgide ama henuz yapamadım

  4. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Homer
    Homer's avatar
    Kayıt Tarihi: 08/Temmuz/2007
    Erkek

    eger yanlış anlamadıysam http://msdn.microsoft.com/en-us/library/ms186734.aspx row_number işini görecek.

  5. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Gizem
    sLeymN
    sLeymN's avatar
    Kayıt Tarihi: 31/Mart/2008
    Erkek

    şimdi kendi tabloma göre anlatim hocam 

    ogrenci adında bir tablom var ve no adında bir alanım var, ogrenci numaralarım var. yaptığım şey ogrenci numarasından küçük kaç tane daha öğrenci var.  yüzde olarak adlandırdığım alan kendinden küçükleri toplam alanı ise toplam öğrenci sayısı.

     

    select distinct (select count(no) from ogrenci where ogrenci.no < 10541029)  as yuzde  , (select count(no) from ogrenci ) as toplam from ogrenci

     

    10541029 yazan kısıma puanı yazarsın.


    Cehennemin dibine kadar yolum var daha.. || Nasılsa her yalnız kendine sürgündür Asmera unutma.
  6. KısayolKısayol reportŞikayet pmÖzel Mesaj
    cemnet
    cemnet's avatar
    Kayıt Tarihi: 18/Eylül/2007
    Erkek
    Homer bunu yazdı

    eger yanlış anlamadıysam http://msdn.microsoft.com/en-us/library/ms186734.aspx row_number işini görecek.

    row_number() kullanınca tüm kayıtları çekmem gerekiyor buda performansı etkliyor

     

  7. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Tarikat Şeyhi
    HolyOne
    HolyOne's avatar
    Kayıt Tarihi: 01/Haziran/2002
    Erkek

    row number sıkıntı çıkarmaz,

    SELECT us.Id
    FROM(SELECT ROW_NUMBER()OVER(ORDERBY id)ASRow, Id
         FROMUser) us 
    WHERERow>100 and Row<200 

    gibi kullan

    Nush ile uslanmayanı etmeli tekdir, Tekdir ile uslanmayanın hakkı kötektir!
  8. KısayolKısayol reportŞikayet pmÖzel Mesaj
    cemnet
    cemnet's avatar
    Kayıt Tarihi: 18/Eylül/2007
    Erkek
    HolyOne bunu yazdı

    row number sıkıntı çıkarmaz,

    SELECT us.Id
    FROM(SELECT ROW_NUMBER()OVER(ORDERBY id)ASRow, Id
         FROMUser) us 
    WHERERow>100 and Row
    gibi kullan

    az kayıtta sorun olmaz hatta şuanki öyle çalışıyor ama 10-20 bin üye olduğunda ve sürekli kaçıncı olduklarını öğrenmek istediklerinde çatlar orası. Quiz uygulaması yapıyorum.

    sql şuan böyle; select row_number() over (order by u.UyePuan DESC) as SatirSayisi,UyeID from Uye u

    sonra dataview'a atıp UyeID'den where çakıyorum istediğim sonucu veriyor. Daha güzel bir yöntem olmalı muritler tek sql satırınca çözebiliriz bunu 

  9. KısayolKısayol reportŞikayet pmÖzel Mesaj
    dhmm
    dhmm's avatar
    Kayıt Tarihi: 15/Eylül/2011
    Erkek

    Hocam bu da isini gorur

     

    select rank() over(order by uyepuani desc) as siralama, uyeadi from tabloadi


    Ozgurluk aslinda her istedigini yapabilmek degildir, istemedigini yapmamaktir. // Verdigin degeri gormeyince, gordugun degeri ver !!! // Hayatin herkes icin bir bavulu vardir !!! // Dusmek gerekir bazen hayatta; kalkmayi ogrenebilmek icin
  10. KısayolKısayol reportŞikayet pmÖzel Mesaj
    cemnet
    cemnet's avatar
    Kayıt Tarihi: 18/Eylül/2007
    Erkek

    hocam o fonksyon mysql için geçerli sanırım bizdekini belirtmeyi unutmuşum mssql

  11. KısayolKısayol reportŞikayet pmÖzel Mesaj
    dhmm
    dhmm's avatar
    Kayıt Tarihi: 15/Eylül/2011
    Erkek
    cemnet bunu yazdı

    hocam o fonksyon mysql için geçerli sanırım bizdekini belirtmeyi unutmuşum mssql

    Hocam eger benim sql komutunu  diyorsan oradaki rank() fonksiyonu mssql 2005 te gecerli mssql 2014 te de gecerli.

    dhmm tarafından 20/Haz/14 15:51 tarihinde düzenlenmiştir

    Ozgurluk aslinda her istedigini yapabilmek degildir, istemedigini yapmamaktir. // Verdigin degeri gormeyince, gordugun degeri ver !!! // Hayatin herkes icin bir bavulu vardir !!! // Dusmek gerekir bazen hayatta; kalkmayi ogrenebilmek icin
Toplam Hit: 1929 Toplam Mesaj: 14