Gün Bazlı Toplam cironun En Büyüğünü Listeleme

MS SQL Server veritabanı ve SQL komutlarıyla ilgli sorularınızı sorabilirsiniz. Delphi tarafındaki sorularınızı lütfen Programlama forumunda sorunuz.
Cevapla
ufb1453
Üye
Mesajlar: 49
Kayıt: 14 Oca 2014 09:41
İletişim:

Gün Bazlı Toplam cironun En Büyüğünü Listeleme

Mesaj gönderen ufb1453 » 10 Tem 2017 10:55

Merhaba,

şöyle bir bilgiye ihtiyacım var; günlük olarak toplam cironun en büyük değerini nasıl listeleyebilirim,
şöyle ki,

Kod: Tümünü seç

SELECT tarih,magaza,MAX(ciro) from (SELECT tarih,magaza,SUM(Ciro) from satislar group by tarih,magaza ) as DATA group by  tarih,magaza
gibi tabi istediğim sonucu vermiyor bu şekilde

sonuç şöyle dönmeli;

01.07.2017 antalya 35241,75
02.07.2017 bursa 24157,11
03.07.2017 istanbul 15477,98

yapı nasıl olmalı fikir verebilir misiniz?
saygılarımla

Kullanıcı avatarı
csunguray
Üye
Mesajlar: 844
Kayıt: 09 Ara 2006 05:08
Konum: Adana
İletişim:

Re: Gün Bazlı Toplam cironun En Büyüğünü Listeleme

Mesaj gönderen csunguray » 10 Tem 2017 11:25

Kod: Tümünü seç

SELECT 
  tarih,
  magaza,
  ciro
from 
  (
    SELECT 
      tarih,
      magaza,
      SUM(Ciro) as ciro
    from 
      satislar 
    group by 
      tarih,
      magaza
  ) as DATA 
order by
  ciro desc
C. Sunguray
csunguray at netbilisim.kom
Net Bilişim Hizmetleri

Sıradan her programcı bilgisayarın anlayabileceği kodlar yazabilir.
Sadece iyi programcılar insanların da anlayabileceği kodlar yazarlar.
Martin Fowler (http://martinfowler.com/)

ufb1453
Üye
Mesajlar: 49
Kayıt: 14 Oca 2014 09:41
İletişim:

Re: Gün Bazlı Toplam cironun En Büyüğünü Listeleme

Mesaj gönderen ufb1453 » 10 Tem 2017 11:42

bu şekilde bugüne ait tüm mağazaların ciro raporunu büyükten küçüğe verir.
benim aradığım
kodu biraz güncellemek gerekirse;

Kod: Tümünü seç

SELECT TOP 1 tarih,magaza,MAX(ciro) FROM (SELECT tarih,magaza,SUM(Ciro) from satislar group by tarih,magaza ) AS DATA group by  tarih,magaza
gibi bir yapı arıyorum, ama tek kayıt vermeyecek gün gün en yüksek cirolu mağazaları listeleyecek

sonuç olarak ise;
01.07.2017 tarihinde a mağazası en yüksek ciroyu yaptı,
02.07.2017 tarihinde c mağazası en yüksek ciroyu yaptı gibi

01.07.2017 antalya 35241,75
02.07.2017 bursa 42157,11
03.07.2017 istanbul 15477,98

saygılarımla,

Kullanıcı avatarı
csunguray
Üye
Mesajlar: 844
Kayıt: 09 Ara 2006 05:08
Konum: Adana
İletişim:

Re: Gün Bazlı Toplam cironun En Büyüğünü Listeleme

Mesaj gönderen csunguray » 10 Tem 2017 12:20

Dediğinizi anladım. Kayıtlara sıra numarası verdirerek bu işi yapabiliriz.

Kod: Tümünü seç

select
  temp2.*
fom
  (
    SELECT 
      ROW_NUMBER() over(partition by tarih order by ciro desc) as sira,
      tarih,
      magaza,
      ciro 
    from 
      (
        SELECT 
          tarih,
          magaza,
          SUM(Ciro) as ciro 
        from 
          satislar 
        group by 
          tarih,
          magaza
      ) as DATA 
  ) temp2
where 
  tem2.sira = 1
order by
  temp2.tarih
C. Sunguray
csunguray at netbilisim.kom
Net Bilişim Hizmetleri

Sıradan her programcı bilgisayarın anlayabileceği kodlar yazabilir.
Sadece iyi programcılar insanların da anlayabileceği kodlar yazarlar.
Martin Fowler (http://martinfowler.com/)

ufb1453
Üye
Mesajlar: 49
Kayıt: 14 Oca 2014 09:41
İletişim:

Re: Gün Bazlı Toplam cironun En Büyüğünü Listeleme

Mesaj gönderen ufb1453 » 10 Tem 2017 04:19

çok teşekkür ederim üstadım istediğim gibi çalıştı, eline sağlık

Cevapla