Sobes.tech
Junior

Ποιο ερώτημα SQL πρέπει να χρησιμοποιηθεί για την ομαδοποίηση δεδομένων;

sobes.tech AI

Απάντηση από AI

SELECT
    column1,
    column2,
    aggregate_function(column3)
FROM
    your_table
WHERE
    condition
GROUP BY
    column1,
    column2
ORDER BY
    column1;

Χρησιμοποιείται το GROUP BY. Ομαδοποιεί τις γραμμές με ίσες τιμές σε μία ή περισσότερες στήλες σε μία γραμμή-σύνοψη, για την οποία μπορούν να χρησιμοποιηθούν συναρτήσεις σύνοψης (π.χ., COUNT, SUM, AVG, MIN, MAX).

  • SELECT - δείχνει τις στήλες που πρέπει να επιλεγούν. Πρέπει να περιλαμβάνουν στήλες για ομαδοποίηση και/ή συναρτήσεις σύνοψης.
  • FROM - δείχνει τον πίνακα από τον οποίο αντλούνται τα δεδομένα.
  • WHERE - προαιρετική συνθήκη για φιλτράρισμα γραμμών πριν από την ομαδοποίηση.
  • GROUP BY - δείχνει τις στήλες βάσει των οποίων θα γίνουν οι ομαδοποιήσεις. Όλες οι μη-συναρτημένες στήλες στο SELECT πρέπει να είναι στο GROUP BY.
  • HAVING - προαιρετική συνθήκη για φιλτράρισμα ομάδων μετά την ομαδοποίηση (χρησιμοποιείται με συναρτήσεις σύνοψης).
  • ORDER BY - προαιρετική συνθήκη για ταξινόμηση των αποτελεσμάτων.

Παραδείγματα συναρτήσεων σύνοψης:

Συνάρτηση Περιγραφή
COUNT() Μετράει τον αριθμό των γραμμών στην ομάδα.
SUM() Υπολογίζει το άθροισμα των τιμών στη στήλη για κάθε ομάδα.
AVG() Υπολογίζει τη μέση τιμή στη στήλη για κάθε ομάδα.
MIN() Βρίσκει την ελάχιστη τιμή στη στήλη για κάθε ομάδα.
MAX() Βρίσκει τη μέγιστη τιμή στη στήλη για κάθε ομάδα.