26 Αυγ 2011

SQL -GROUP BY & HAVING


Αγαπητα μου παιδια σημεραθα μιλησουμε για αυτο που λεει ο τιτλος...Σκαστε και καντε ησυχια μπασταρδα ...

Επειδη η θεωρια ειναι για τους μαλακες φιλολογους και γενικα για τους μαλακες που την λενε για να νιωσουν οτι λενε κατι σπουδαιο αφου δεν ξερουν να πουν την ουσια...
Αρχιζουμε κατευθειαν με Ενα παραδειγμα:

Εχω 1 πινακα ton pinaka "MALAKAS "

OrderID OrderDate OrderPrice CustomerName
12/22/2005 160 Smith
2 08/10/2005 190 Johnson
3 07/13/2005 500 Baldwin
4 07/15/2005 420 Smith
5 12/22/2005 1000 Wood
6 10/2/2005 820 Smith
7 11/03/2005 2000 Baldwin

κανω
select coustomerName ,SUM(OrderPrice)
from MALAKAS
Groupby coustomerName

ΑΠΟΤΕΛΕΣΜΑ:

CustomerName OrderPrice
Baldwin 2500 //2000+500=2500
Johnson 190
Smith 1400 //820+420=1240+160=1400
Wood 1000

ΔΗΛ.Το Group by, Τα κοινα κελια τα περνει ολα μαζι σαν ενα groupακι και τα μονα παλι σαν ενα groupακι μονο του.
Μετα το SUM βρικει το αθροισμα απο καθε ενα groupaki .
ΑΥΤΟ !!ΕΙΔΕΣ ΠΟΥΘΕΝΑ WHERE ?OXI ! ΔΕΝ χρησιμοποιειται ΠΟΤΕ where με το GROUP BY !
ΑΝΤΙ για WHERE χρησιμοποιω TO ΗΑVING
πχ.
GROUP BY CustomerName
HAVING OrderPrice >100

Δεν υπάρχουν σχόλια:

Δημοσίευση σχολίου