Ομάδα SQL κατά ημερομηνία

Omada Sql Kata Emeromenia



Ο όρος SQL GROUP BY είναι ένα ισχυρό εργαλείο για την ομαδοποίηση και τη συγκέντρωση των δεδομένων. Παρέχει έναν εξαιρετικό τρόπο ομαδοποίησης των δεδομένων με βάση συγκεκριμένα κριτήρια και στη συνέχεια εκτέλεσης μιας ενέργειας στις ομάδες που προκύπτουν.

Μια συνηθισμένη περίπτωση χρήσης για το GROUP BY είναι η ομαδοποίηση κατά ημερομηνίες. Σε αυτό το σεμινάριο, θα μάθουμε τις βασικές αρχές της εργασίας με την πρόταση GROUP BY και θα συζητήσουμε πώς να τη χρησιμοποιήσουμε για να ομαδοποιήσουμε τα δεδομένα κατά ημερομηνίες στην SQL.







ΣΗΜΕΙΩΣΗ: Υποθέτουμε ότι έχετε βασική κατανόηση της SQL. Για λόγους επίδειξης, χρησιμοποιούμε τα παραδείγματα σε αυτό το σεμινάριο με το MySQL 8. Ωστόσο, μπορείτε να μεταφέρετε ελεύθερα τις έννοιες αυτού του σεμιναρίου σε άλλες μηχανές βάσης δεδομένων που βασίζονται σε SQL.



Δείγμα πίνακα:

Το πρώτο βήμα είναι να δημιουργήσετε έναν βασικό πίνακα και δείγματα δεδομένων για επίδειξη. Εάν έχετε έναν υπάρχοντα πίνακα με τον οποίο θέλετε να εργαστείτε, μη διστάσετε να παραλείψετε αυτήν την ενότητα.



Για να δημιουργήσετε τον πίνακα, χρησιμοποιήστε το ακόλουθο ερώτημα:





ΔΗΜΙΟΥΡΓΙΑ ΠΙΝΑΚΑ συναλλαγών (
ταυτότητα int not null auto_increment πρωτεύον κλειδί,
ημερομηνία ΗΜΕΡΟΜΗΝΙΑ,
ποσό ΔΕΚΑΔΙΚΟ ( 10 , 2 )
) ;


Μόλις δημιουργήσετε τον πίνακα, εισαγάγετε τα δείγματα δεδομένων όπως φαίνεται παρακάτω:

ΕΙΣΑΓΩΓΗ ΣΤΙΣ συναλλαγές ( ημερομηνία , ποσό )
ΑΞΙΕΣ
( '01-01-2023' , 100.00 ) ,
( '02-01-2023' , 50.00 ) ,
( '03-01-2023' , 75.00 ) ,
( '04-01-2023' , 200.00 ) ,
( '05-01-2023' , 150,00 ) ,
( '06-01-2023' , 175.00 ) ,
( '07-01-2023' , 50.00 ) ,
( '08-01-2023' , 100.00 ) ,
( '09-01-2023' , 25.00 ) ,
( '10-01-2023' , 75.00 ) ,
( '2023-01-11' , 150,00 ) ,
( '2023-01-12' , 200,00 ) ,
( '13-01-2023' , 250,00 ) ,
( '14-01-2023' , 175.00 ) ,
( '15-01-2023' , 150,00 ) ,
( '16-01-2023' , 100.00 ) ,
( '17-01-2023' , 50.00 ) ,
( '18-01-2023' , 75.00 ) ;


Αυτό θα πρέπει να προσθέσει τα τυχαία δεδομένα στον πίνακα συναλλαγών. Μπορούμε να χρησιμοποιήσουμε τη δήλωση Select για να εμφανίσουμε τον πίνακα που προκύπτει ως εξής:



επιλέγω * από συναλλαγές?


Πίνακας εξόδου:


Αφού ετοιμάσουμε τα δεδομένα, μπορούμε να προχωρήσουμε στο επόμενο βήμα.

Ομάδα SQL κατά ημερομηνία

Όπως μπορείτε να μαντέψετε, χρησιμοποιούμε την ρήτρα GROUP BY για να χωρίσουμε τα δεδομένα σε έναν δεδομένο πίνακα με βάση συγκεκριμένες τιμές. Η σύνταξη της πρότασης είναι η εξής:

ΕΠΙΛΟΓΗ στήλη1, στήλη 2, ...
FROM table_name
ΟΜΑΔΑ ΑΠΟ στήλη1, στήλη 2, ...;


Στην προηγούμενη σύνταξη, χρησιμοποιούμε τον όρο GROUP BY για να καθορίσουμε τις στήλες κατά τις οποίες θέλετε να ομαδοποιήσετε τα δεδομένα.

Από τον προηγούμενο πίνακα, μπορούμε να χρησιμοποιήσουμε τη στήλη ημερομηνία για να ομαδοποιήσουμε τα δεδομένα όπως φαίνεται στο ακόλουθο ερώτημα:

ΕΠΙΛΕΓΩ ημερομηνία , ΑΘΡΟΙΣΜΑ ( ποσό ) όπως και συνολικό ποσό
ΑΠΟ συναλλαγές
ΟΜΑΔΑ ΑΠΟ ημερομηνία ;


Το προηγούμενο ερώτημα εκτελεί τους βασικούς υπολογισμούς και προσθέτει το συνολικό ποσό για κάθε ημέρα χρησιμοποιώντας τη συνάρτηση sum(). Στη συνέχεια ομαδοποιούμε τα δεδομένα με βάση τις τιμές ημερομηνίας. Ο πίνακας που προκύπτει έχει ως εξής:

Μορφοποίηση ημερομηνίας

Μερικές φορές, μπορεί να χρειαστεί να μορφοποιήσουμε την ημερομηνία και να την κάνουμε πιο ευανάγνωστη. Ένα παράδειγμα είναι το εξής:

ΕΠΙΛΕΞΤΕ ΗΜΕΡΟΜΗΝΙΑ_ΜΟΡΦΗ ( ημερομηνία , '%m/%d/%Y' ) όπως και formatted_date, SUM ( ποσό ) όπως και συνολικό ποσό
ΑΠΟ συναλλαγές
ΟΜΑΔΑ ΑΠΟ ημερομηνία ;


Αυτό θα πρέπει να επιστρέψει τις τιμές ημερομηνίας στην καθορισμένη μορφή ως εξής:

Εύρος ημερομηνιών φίλτρου SQL

Μπορούμε επίσης να φιλτράρουμε το αποτέλεσμα που έχει οριστεί από ένα εύρος ημερομηνιών χρησιμοποιώντας τον όρο WHERE. Ένα παράδειγμα είναι το εξής:

ΕΠΙΛΕΞΤΕ ΗΜΕΡΟΜΗΝΙΑ_ΜΟΡΦΗ ( ημερομηνία , '%m/%d/%Y' ) όπως και formatted_date, SUM ( ποσό ) όπως και συνολικό ποσό
ΑΠΟ συναλλαγές
ΟΠΟΥ ημερομηνία ΜΕΤΑΞΥ '01-01-2023' ΚΑΙ '15-01-2023'
ΟΜΑΔΑ ΑΠΟ ημερομηνία ;


Ο πίνακας που προκύπτει φαίνεται παρακάτω:


Ορίστε το! Ένας τρόπος ομαδοποίησης των δεδομένων από έναν δεδομένο πίνακα με βάση τις τιμές ημερομηνίας.

συμπέρασμα

Αυτό το σεμινάριο διερεύνησε τις βασικές αρχές της εργασίας με τον όρο GROUP BY στην SQL για την ταξινόμηση των δεδομένων με βάση συγκεκριμένες τιμές. Αυτό μας επέτρεψε να καλύψουμε τον τρόπο χρήσης της ρήτρας GROUP BY για τη διαίρεση των δεδομένων με βάση τις τιμές ημερομηνίας.