Şimdi Ara

Veri Sıralaması Hakkında Basit Soru

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
2 Misafir - 2 Masaüstü
5 sn
12
Cevap
0
Favori
478
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
0 oy
Öne Çıkar
Sayfa: 1
Giriş
Mesaj
  • merhaba, sql de yeniyim projem için merak edip araştırıp bulamadığım bir problemim var.
    normalde bir sütuna identity ataması yaparsak veriler sayılı sıraya giriyor fakat verilerin içinden orta kısımdan bir veri çıkardığımızda sıra sayısı kaymıyor hatta yeni bir veri eklediğimizde toplam veri sayısı 10 sa diyelim yine üste sayıyor 11 oluyor. bu sıra kaydırma işlemi için ne yapmam gerekiyor? teşekkürler.



  • identity otomatik artan sayıyı sistem kendisi takip eder. Onun sıralı yada sırasız olmasına takılmayın. O sayı kayıtları benzersiz yapmak içindir. İlla listelerken sıralı sayı numarası görmek isterseniz SQL ile listelerken geçici sıra numarası verebilirsiniz.

    < Bu ileti mobil sürüm kullanılarak atıldı >
  • hyrgul H kullanıcısına yanıt
    yaptığım bir program için mecbur böyle bir özelliğin olması lazım. düşünün ki bir öğrenci listesi var sınıfın mevcudu listenin son elemanının sırası olacak, öğrenci çıkarılacak eklenecek vs. o son satır toplam öğrenci mevcudunu gösterecek, illa böyle bir özellik vardır sql de diye düşünüyorum
  • iyide sınıf mevcudu niye satır nosu olsun o tabloda kaç kayıt varsa o kadar öğrenci vardır count fonksiyonuyla onu sayarsın işini görür
  • quote:

    Orijinalden alıntı: Gökşen PASLI

    iyide sınıf mevcudu niye satır nosu olsun o tabloda kaç kayıt varsa o kadar öğrenci vardır count fonksiyonuyla onu sayarsın işini görür

    ama öğrenci listeside yapmıyorum :) demek istediğim SQL DE NE KADAR VERİ VARSA ARİTMETİK ŞEKİLDE SIRALI OLMASI . vallahi tek istediğim buydu.
  • liste yapmıyorumu anlamadım
    https://docs.microsoft.com/en-us/sql/t-sql/functions/row-number-transact-sql

    bak herhalde işine yarar
  • quote:

    Orijinalden alıntı: Gökşen PASLI

    liste yapmıyorumu anlamadım
    https://docs.microsoft.com/en-us/sql/t-sql/functions/row-number-transact-sql

    bak herhalde işine yarar


    baktım hocam fazla anlayamadım ama muhtemelen benimkine çözüm değil , kısaca izah edeyim tekrardan

    1-ali
    2-mehmet
    3-hasan

    ben bunlara hakan ismini eklersem
    1-ali
    2-mehmet
    3-hasan
    4-hakan

    oluyor...hasan ı silersem

    1-ali
    2-mehmet
    4-hakan

    oluyor...işte burada bahsettiğim hakan'ın 4 değilde 3 olması




  • tamam sen 1 2 diye sütün hiç ekleme zaten sorguda yeni sütün açıp orda göster linktede onu anlatmış öteki türlü sütunu update etmekle uğraşırsın
  • game8181 kullanıcısına yanıt
    E tamam işte Gökşen hoca onu söylüyor. COUNT fonksiyonunu kullanacaksın tablodaki eleman sayısını verecek. Öğrenci silsen de eklesen de mevcut sayıyı bulacaksın. Senin ID kolonuyla işin yok. ID kolonu veri silip update etmek için lazım sadece.
    Söylediğin şekilde de linkte yazmış adamlar:

    quote:

    SELECT ROW_NUMBER() OVER(ORDER BY SalesYTD DESC) AS Row,
    FirstName, LastName, ROUND(SalesYTD,2,1) AS "Sales YTD"
    FROM Sales.vSalesPerson
    WHERE TerritoryName IS NOT NULL AND SalesYTD <> 0;


    Sen bu sorgudaki kalın kısma göre SalesYTD yerine senin ID kolonunun ismini ver. DESC yerine de ASC yaz.



    < Bu mesaj bu kişi tarafından değiştirildi alpmirza -- 29 Haziran 2017; 22:25:4 >
  • quote:

    Orijinalden alıntı: alpmirza

    E tamam işte Gökşen hoca onu söylüyor. COUNT fonksiyonunu kullanacaksın tablodaki eleman sayısını verecek. Öğrenci silsen de eklesen de mevcut sayıyı bulacaksın. Senin ID kolonuyla işin yok. ID kolonu veri silip update etmek için lazım sadece.
    Söylediğin şekilde de linkte yazmış adamlar:

    quote:

    SELECT ROW_NUMBER() OVER(ORDER BY SalesYTD DESC) AS Row,
    FirstName, LastName, ROUND(SalesYTD,2,1) AS "Sales YTD"
    FROM Sales.vSalesPerson
    WHERE TerritoryName IS NOT NULL AND SalesYTD <> 0;


    Sen bu sorgudaki kalın kısma göre SalesYTD yerine senin ID kolonunun ismini ver. DESC yerine de ASC yaz.

    yok hocam :D sıkıntımı anlatamadım ben, sql komutu da değil aradığım, aradığım şey tıpkı bir kolona identity atamak gibi bir şey, c# tan veri atıp alacağım bu veri atmayı ve almayı id lere göre yapacağım o yüzden id leri sıralı olması lazım eminim sql de böyle bir özellik var ama ne bulabiliyorum ne anlatabiliyorum :)




  • Identity kaldirip bu alana veriyi manuel atamaniz gerekecek, id alanindaki en son sayiyi sorgulayip - bunu desc ile kolondaki son kayiti alarak veya en buyuk rakami bularak yapabilirsiniz-cikan sonuca +1 seklinde deger atayip o alana manuel olarak id gireceksiniz sorgularla. Bu teferruatli bir durum ama bu sekilde yapabilirsiniz. Ekleme alaninda bu sekilde. Ve yine kayit sildiginizde de gerekecek sorgular olabilir.



    < Bu mesaj bu kişi tarafından değiştirildi turk66 -- 26 Temmuz 2017; 2:1:47 >
    < Bu ileti mobil sürüm kullanılarak atıldı >
  • 
Sayfa: 1
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.