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

  • hydejiaqi

    hydejiaqi

    12 Mart 2008
  • joshsnice

    joshsnice

    28 Kasım 2006
  • Kamikazeepanda

    Kamikazeepan

    5 ŞUBAT 2006