SORU
8 Mart 2010, PAZARTESİ


SQL Server: BÖLÜM arasındaki Fark da GRUP

Yıl içinde toplam her tür sorgular için GROUP BY kullanıyorum. Son zamanlarda, ters mühendislik PARTITION BY toplamalardan gerçekleştirmek için kullandığı bazı kodlar oldum. Tüm belgeleri okumak PARTITION BY, GROUP BY, belki biraz ekstra işlevsellik gibi bir sürü ekledi sesler hakkında bulabilirim? Aynı genel işlevleri iki versiyonu mı, yoksa farklı bir şey onlar tamamen?

CEVAP
8 Mart 2010, PAZARTESİ


Farklı yerlerde kullanılırlar. group by tüm sorgu değiştirir gibi:

select customerId, count(*) as orderCount
from Orders
group by customerId

Ama partition by row_number a window function, üzerinde çalışır:

select row_number() over (partition by customerId order by orderId)
    as OrderNumberForThisCustomer
from Orders

group by Bir normal satır onları haddeleme ve her satır için ortalamaları veya toplamları hesaplanarak iade sayısını azaltır. partition by döndürülen satırların sayısını etkilemez, ama bir pencere işlevi sonucu nasıl hesaplanır değiştirir.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • bombjack2991

    bombjack2991

    29 HAZİRAN 2008
  • kalabrandmusic

    kalabrandmus

    25 Kasım 2009
  • Murray Winiata

    Murray Winia

    2 ŞUBAT 2009