Προς το περιεχόμενο

SQL: group by, having διευκρίνιση


we_will_rise

Προτεινόμενες αναρτήσεις

Δημοσ.

Καλημέρα,

 

επειδή απ'όπου κι αν το διάβασα δεν λέω να το καταλάβω, μπορεί κάποιος να μου εξηγήσει ΤΙ ΑΚΡΙΒΩΣ κάνει η group by και τι η having, και πότε τις χρησιμοποιούμε.

 

πχ. στο παρακάτω παράδειγμα, γιατί έβαλε την group by?

>Παράδειγμα: Μια όψη που περιλαμβάνει τα ονόματα όλων των υποκαταστημάτων και το άθροισμα του ποσού των δανείων που έχουν γίνει από αυτά

create view Υποκατάστημα-Σύνολο-Δανείων (Σύνολο-Δανείων, Όνομα-     Υποκαταστήματος) as
select  Όνομα-Υποκαταστήματος, sum(Ποσό)
from Δάνειο 
group by  Όνομα-Υποκαταστήματος

Δημοσ.

GROUP BY είναι όπως οι αθροιστικές συναρτήσεις η SUM, επιστρέφουν το σύνολο όλων των τιμών μιας στήλης κάθε φορά που καλούνται. Βρίσκουμε δηλ το άθροισμα .

 αυτή η εντολή στο παράδειγμα σου μας δίνει 2 στήλες 1) Υποκατάστημα και 2) sum των δανείων

Having όταν θες να πάρεις κάτι συγκεκριμένο από ένα πίνακα..πχ στο δικό σου

 

create view Υποκατάστημα-Σύνολο-Δανείων (Σύνολο-Δανείων, Όνομα- Υποκαταστήματος) as

select Όνομα-Υποκαταστήματος, sum(Ποσό)

from Δάνειο

group by ονομα υπο..

Having sum>1000

 

Θα μας έδινε όσα υποκαταστήματα έχουν ποσά πάνω από 1000

 

η HAVING έχει προστεθεί στην SQL επειδή η λέξη κλειδί WHERE δεν μπορεί να χρησιμοποιηθεί σε αθροιστικές συναρτήσεις, όπως είναι η SUM

 

---------- Προσθήκη στις 12:26 ---------- Προηγούμενο μήνυμα στις 12:24 ----------

 

απο οτι θυμαμαι αυτο πρεπει να ειναι ...

δες και εδω http://dide.flo.sch.gr/Plinet/Tutorials/Tutorials-SQL.html

Αρχειοθετημένο

Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.

  • Δημιουργία νέου...