Şimdi Ara

iki kayıt arasındaki fark

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
2 Misafir - 2 Masaüstü
5 sn
9
Cevap
1
Favori
315
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
0 oy
Öne Çıkar
Sayfa: 1
Giriş
Mesaj
  • Selam sql de 1 ay içinde 8-10 kayıt var ben bu kayıtların içinde ilk kaydettiğim miktar ile son kaydettiğim miktar arsındaki farkı bulmak istiyorum nasıl bulurum?



  • ilk kaydettiğin tarihi bir yere yaz veya ona flag ekle kaydedildi diye. o değer ile sonrakileri iki ayrıda sorgu al ve birbirinden cıkar.

    tablodaki 1 sırdaki ile son sıradakini almak istiyorsan
    ilk kayıt: select * from tablo order by id asc limit 1
    son kayit: select * from tablo order by id desc limit 1
    hangi kolonu istiyorsan onu al değişkene al ister kod taraında ister sql tarafında farkı al bu.
  • mahoni_38 kullanıcısına yanıt
    Öncelikle cevabınız için teşekkür ederim. ancak tabloda şöyle bir durum var : diyelimki 10 farklı cari var her bir cari için ve her ay için 10 ar kayıt var mesela . a carisi 1. ay 10 kayıt 2. ay 8 kayıt 3. ay 15 kayıt : BEN A CARİSİ İÇİN 1. AYDAKİ İLK VE SON KAYIT ARASINDAKİ MİKTAR FARKINI BULMAK İSTİYORUM. 2. AY YİNE AYNI ŞEKİLDE

    YANİ:

    CARİ------AY------FARK MİKTAR
    ------------------------------
    A----------1--------30
    A----------2--------45
    A----------3--------25
    B----------1--------14
    B----------2--------18

    GİBİ
  • quote:

    Orijinalden alıntı: skocabacak

    Öncelikle cevabınız için teşekkür ederim. ancak tabloda şöyle bir durum var : diyelimki 10 farklı cari var her bir cari için ve her ay için 10 ar kayıt var mesela . a carisi 1. ay 10 kayıt 2. ay 8 kayıt 3. ay 15 kayıt : BEN A CARİSİ İÇİN 1. AYDAKİ İLK VE SON KAYIT ARASINDAKİ MİKTAR FARKINI BULMAK İSTİYORUM. 2. AY YİNE AYNI ŞEKİLDE

    YANİ:

    CARİ------AY------FARK MİKTAR
    ------------------------------
    A----------1--------30
    A----------2--------45
    A----------3--------25
    B----------1--------14
    B----------2--------18

    GİBİ
    partition over ile (mysql de karsılığı vardır) bir veya bir kaç alana göre kayıtlarını sıralayabilirsin. Böylece

    ARİ------AY------Sira
    ------------------------------
    A----------10--------1
    A----------11--------2
    A----------12--------3
    B----------1--------1
    B----------2--------2

    gibi bir sıra elde edebilirsin. Bu sana tüm kolonlar dururken gruplama imkanı verir. sonra bu tabloyu sub query içine alıp sira = 1 dediğinde sana ilk ayın verilerini vermiş olur. aynı islemi dersten sıralarsan son ayı verir. iki query birleştirmek de sana kalmış.

    http://sqlfiddle.com/#!18/de0cbc/1

    Burada örneği var. Bilerek nihayi sonucu vermedim biraz çabalaman ve anlaman için. İhtiyacın iki veriyi birleştirip istediğin cıktıyı üretmek ve bunu sql tarafında yapmak. Ben tam bitmiş halini yaptım buradan yürüyünce istediğin sorgu tek ekranda alınabiliyor

    Not: sql sorularını sqlfiddle ile paylaşrsan sema ve örnek veiryi de vermiş olrsun bu ikisi olmdan coğu durumda yardımcı olmak zor.



    < Bu mesaj bu kişi tarafından değiştirildi mahoni_38 -- 4 Eylül 2019; 13:48:33 >




  • mahoni_38 kullanıcısına yanıt
    Baya bir fikir verdi çok teşekkür ederim. Hocam
  • mahoni_38 kullanıcısına yanıt
    Sayın Hocam.
    cari_kodu, ay, rapor_kodu1, cari_kodu, ay, rapor_kodu, km_st,
    254B0001, 1, 103, 254B0001, 1, 103, 75528,
    254B0001 2 201 254B0001 2 201 78640
    254B0001 3 302 254B0001 3 302 82127
    254B0001 4 401 254B0001 4 401 86652
    254B0001 5 503 254B0001 5 503 91575
    254B0001 6 601 254B0001 6 601 97059

    yukarıdaki tabloda 1. ayın km_st değerini 2. ayın km_st değerinden çıkaracağım 2nin 3 ten 3ün 4 ten ve böyle devam edecek. burada örnek olarak 1 cari verdim çoklu cari olarak düşünün.

    Buna nasıl bir sorgu yazabilirim acaba



    < Bu mesaj bu kişi tarafından değiştirildi skocabacak -- 5 Eylül 2019; 13:38:8 >
  • quote:

    Orijinalden alıntı: skocabacak

    Sayın Hocam.
    cari_kodu, ay, rapor_kodu1, cari_kodu, ay, rapor_kodu, km_st,
    254B0001, 1, 103, 254B0001, 1, 103, 75528,
    254B0001 2 201 254B0001 2 201 78640
    254B0001 3 302 254B0001 3 302 82127
    254B0001 4 401 254B0001 4 401 86652
    254B0001 5 503 254B0001 5 503 91575
    254B0001 6 601 254B0001 6 601 97059

    yukarıdaki tabloda 1. ayın km_st değerini 2. ayın km_st değerinden çıkaracağım 2nin 3 ten 3ün 4 ten ve böyle devam edecek. burada örnek olarak 1 cari verdim çoklu cari olarak düşünün.

    Buna nasıl bir sorgu yazabilirim acaba
    bilmiyorum ama tek google sorgusu cevabı veriyor.

    how to use values from previous or next rows in a query
    https://www.google.com/search?q=how%20to%20use%20values%20from%20previous%20or%20next%20rows%20in%20a%20query
    http://www.sqlservertutorial.net/sql-server-window-functions/sql-server-lag-function/

    aslında mantık aynı ihtiyac duyduğun sorguyu elindeki ile birleştirmeliyisin




  • mahoni_38 kullanıcısına yanıt
    Çok teşekkür ederim yine imdadıma yetiştin sağol
  • 
Sayfa: 1
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.