קבוצת SQL לפי תאריך

Qbwzt Sql Lpy T Ryk



הסעיף של SQL GROUP BY הוא כלי רב עוצמה לקיבוץ ולצבירה של הנתונים. הוא מספק דרך מצוינת לקבץ את הנתונים על סמך קריטריונים ספציפיים ולאחר מכן לבצע פעולה על הקבוצות המתקבלות.

מקרה שימוש נפוץ אחד עבור GROUP BY הוא קיבוץ לפי תאריכים. במדריך זה, נלמד את יסודות העבודה עם פסקת GROUP BY ונדון כיצד להשתמש בו כדי לקבץ את הנתונים לפי תאריכים ב-SQL.







הערה: אנו מניחים שיש לך הבנה בסיסית של SQL. למטרות הדגמה, אנו משתמשים בדוגמאות במדריך זה עם MySQL 8. עם זאת, אתה יכול להעביר בחופשיות את המושגים של מדריך זה למנועי מסד נתונים אחרים מבוססי SQL.



טבלה לדוגמה:

השלב הראשון הוא הקמת טבלה בסיסית ונתונים לדוגמה להדגמה. אם יש לך טבלה קיימת שברצונך לעבוד איתה, אל תהסס לדלג על סעיף זה.



כדי ליצור את הטבלה, השתמש בשאילתה הבאה:





צור עסקאות טבלה (
תְעוּדַת זֶהוּת int not null auto_increment מפתח ראשי,
תַאֲרִיך תַאֲרִיך,
סכום עשרוני ( 10 , 2 )
) ;


לאחר יצירת הטבלה, הכנס את הנתונים לדוגמה כפי שמוצג להלן:

INSERT INTO עסקאות ( תַאֲרִיך , כמות )
ערכים
( '2023-01-01' , 100.00 ) ,
( '2023-01-02' , 50.00 ) ,
( '2023-01-03' , 75.00 ) ,
( '2023-01-04' , 200.00 ) ,
( '2023-01-05' , 150.00 ) ,
( '2023-01-06' , 175.00 ) ,
( '2023-01-07' , 50.00 ) ,
( '2023-01-08' , 100.00 ) ,
( '2023-01-09' , 25.00 ) ,
( '2023-01-10' , 75.00 ) ,
( '2023-01-11' , 150.00 ) ,
( '2023-01-12' , 200.00 ) ,
( '2023-01-13' , 250.00 ) ,
( '2023-01-14' , 175.00 ) ,
( '2023-01-15' , 150.00 ) ,
( '2023-01-16' , 100.00 ) ,
( '2023-01-17' , 50.00 ) ,
( '2023-01-18' , 75.00 ) ;


זה אמור להוסיף את הנתונים האקראיים לטבלת העסקאות. אנו יכולים להשתמש במשפט select כדי להציג את הטבלה המתקבלת באופן הבא:



בחר * מעסקאות;


טבלת פלט:


לאחר שהכנו את הנתונים, נוכל להמשיך לשלב הבא.

קבוצת SQL לפי תאריך

כפי שאתה יכול לנחש, אנו משתמשים בסעיף GROUP BY כדי לחלק את הנתונים בטבלה נתונה על סמך ערכים ספציפיים. תחביר הסעיף הוא כדלקמן:

בחר עמודה 1, עמודה 2, ...
FROM table_name
GROUP BY עמודה1, עמודה2, ...;


בתחביר הקודם, אנו משתמשים בסעיף GROUP BY כדי לציין את העמודות שלפיהן ברצונך לקבץ את הנתונים.

מהטבלה הקודמת, נוכל להשתמש בעמודת התאריך כדי לקבץ את הנתונים כפי שמוצג בשאילתה הבאה:

בחר תַאֲרִיך , SUM ( כמות ) כפי ש הכמות הכוללת
מעסקאות
GROUP BY תַאֲרִיך ;


השאילתה הקודמת מבצעת את החישובים הבסיסיים ומוסיפה את הסכום הכולל עבור כל יום באמצעות הפונקציה sum() . לאחר מכן נקבץ את הנתונים על סמך ערכי התאריך. הטבלה המתקבלת היא כדלקמן:

עיצוב תאריך

לפעמים, ייתכן שנצטרך לעצב את התאריך ולהפוך אותו לקריאה יותר. דוגמה היא כדלקמן:

בחר את DATE_FORMAT ( תַאֲרִיך , '%m/%d/%Y' ) כפי ש formatted_date, SUM ( כמות ) כפי ש הכמות הכוללת
מעסקאות
GROUP BY תַאֲרִיך ;


זה אמור להחזיר את ערכי התאריך בפורמט שצוין באופן הבא:

טווח תאריכים של מסנן SQL

אנו יכולים גם לסנן את התוצאה שנקבעה לפי טווח תאריכים באמצעות סעיף WHERE. דוגמה היא כדלקמן:

בחר את DATE_FORMAT ( תַאֲרִיך , '%m/%d/%Y' ) כפי ש formatted_date, SUM ( כמות ) כפי ש הכמות הכוללת
מעסקאות
איפה תַאֲרִיך בֵּין '2023-01-01' ו '2023-01-15'
GROUP BY תַאֲרִיך ;


הטבלה המתקבלת מוצגת להלן:


הנה לך! דרך לקבץ את הנתונים מטבלה נתונה על סמך ערכי תאריך.

סיכום

מדריך זה חקר את היסודות של עבודה עם פסקת GROUP BY ב-SQL כדי למיין את הנתונים על סמך ערכים ספציפיים. זה אפשר לנו לסקר כיצד להשתמש בסעיף GROUP BY כדי לחלק את הנתונים על סמך ערכי תאריך.