इनका इस्तेमाल अलग-अलग जगहों पर होता है। group by पूरी क्वेरी को संशोधित करता है, जैसे:
select customerId, count(*) as orderCount
from Orders
group by customerId
लेकिन partition by बस एक विंडो फ़ंक्शन पर काम करता है, जैसे row_number :
select row_number() over (partition by customerId order by orderId)
as OrderNumberForThisCustomer
from Orders
एक group by आम तौर पर उन्हें रोल अप करके और प्रत्येक पंक्ति के लिए औसत या रकम की गणना करके लौटाई गई पंक्तियों की संख्या कम कर देता है। partition by लौटाई गई पंक्तियों की संख्या को प्रभावित नहीं करता है, लेकिन यह बदल देता है कि विंडो फ़ंक्शन के परिणाम की गणना कैसे की जाती है।