logo

סדר SQL לפי תאריך

  • ORDER BY הוא משפט ב-SQL המשמש עם שאילתת SELECT כדי להביא את הרשומות בסדר עולה או יורד מטבלה.
  • בדיוק כמו שאנו ממיינים את המספר השלם ואת ערכי המחרוזת המאוחסנים בעמודת הטבלאות, באופן דומה, אנו יכולים למיין את התאריכים המאוחסנים בעמודה של טבלת SQL.
  • כל הרשומות ימוינו, כברירת מחדל, בסדר עולה. כדי למיין את הרשומות בסדר יורד, נעשה שימוש במילת המפתח DESC.

הבה נראה כמה דוגמאות מעשיות כדי להבין את המושג הזה בצורה ברורה יותר. נשתמש במסד הנתונים של MySQL לכתיבת כל השאילתות.

קחו בחשבון שיצרנו טבלה בשם עובדים במסד הנתונים של MySQL עם הנתונים הבאים:

תְעוּדַת זֶהוּת שֵׁם שכר תאריך_הצטרפות DOB
1 רוהיט עוד 50000 2020-02-08 28-01-1991 18:06:08
2 קונל מוהיט 34000 2021-01-01 15-05-1990 19:10:00
3 סאורבה ג'ה 61000 2015-05-01 20-02-1983 12:18:45
4 עננט דסאי 59000 27-08-2018 29-06-1978 15:45:13
5 קרישנה שארמה 48000 2010-10-23 21-03-1999 02:14:56
6 בהבש ג'יין 37,000 2021-07-03 02-08-1998 13:00:01

דוגמה 1:

כתוב שאילתה כדי להציג את כל הפרטים של העובדים המסודרים בסדר עולה של תאריך הלידה שלהם.

שאילתא:

 mysql> SELECT *FROM employees ORDER BY DOB; 

מכיוון שרצינו למיין את הרשומות בסדר עולה של תאריך הלידה של העובדים, אז החלנו את סעיף ה-ORDER BY בעמודה 'DOB'.

תקבל את הפלט הבא:

תְעוּדַת זֶהוּת שֵׁם שכר תאריך_הצטרפות DOB
4 עננט דסאי 59000 27-08-2018 29-06-1978 15:45:13
3 סאורבה ג'ה 61000 2015-05-01 20-02-1983 12:18:45
2 קונל מוהיט 34000 2021-01-01 15-05-1990 19:10:00
1 רוהיט עוד 50000 2020-02-08 28-01-1991 18:06:08
6 בהבש ג'יין 37,000 2021-07-03 02-08-1998 13:00:01
5 קרישנה שארמה 48000 2010-10-23 21-03-1999 02:14:56

התוצאות שהתקבלו מהשאילתה לעיל מראות שהרשומות מוצגות לפי הסדר העולה של ה-DOB.

דוגמה 2:

כתוב שאילתה כדי להציג את כל הפרטים של העובדים מסודרים בסדר יורד של תאריכי ההצטרפות שלהם.

שאילתא:

 mysql> SELECT *FROM employees ORDER BY Joining_Date DESC; 

מכיוון שרצינו למיין את הרשומות בסדר יורד של תאריך ההצטרפות של עובדים, אז החלמנו את הסעיף ORDER BY עם מילת המפתח DESC בעמודה 'תאריך הצטרפות'.

תקבל את הפלט הבא:

תְעוּדַת זֶהוּת שֵׁם שכר תאריך_הצטרפות DOB
6 בהבש ג'יין 37,000 2021-07-03 02-08-1998 13:00:01
2 קונל מוהיט 34000 2021-01-01 15-05-1990 19:10:00
1 רוהיט עוד 50000 2020-02-08 28-01-1991 18:06:08
4 עננט דסאי 59000 27-08-2018 29-06-1978 15:45:13
3 סאורבה ג'ה 61000 2015-05-01 20-02-1983 12:18:45
5 קרישנה שארמה 48000 2010-10-23 21-03-1999 02:14:56

התוצאות שהתקבלו מהשאילתה לעיל מראות שהרשומות מוצגות לפי הסדר היורד של תאריכי ההצטרפות.

דוגמה 3:

כתוב שאילתה כדי להציג את כל הפרטים של העובדים המסודרים בסדר עולה של שנת הלידה שלהם.

שאילתא:

 mysql> SELECT ID, Name, Salary, Joining_Date, DATE_FORMAT (DOB, '%Y') AS Year_of_Birth FROM employees ORDER BY DATE_FORMAT (DOB, '%Y'); 

מכיוון שרצינו למיין את הרשומות בסדר עולה של שנת הלידה של העובדים, אז החלטנו את סעיף ה-ORDER BY. הפונקציה DATE_FORMAT () מוחלת על העמודה DOB עם הפרמטר '%Y' כדי לחלץ רק את השנה מ-'DOB'.

תקבל את הפלט הבא:

תְעוּדַת זֶהוּת שֵׁם שכר תאריך_הצטרפות שנת לידה
4 עננט דסאי 59000 27-08-2018 1978
3 סאורבה ג'ה 61000 2015-05-01 1983
2 קונל מוהיט 34000 2021-01-01 1990
1 רוהיט עוד 50000 2020-02-08 1991
6 בהבש ג'יין 37,000 2021-07-03 1998
5 קרישנה שארמה 48000 2010-10-23 1999

התוצאות שהתקבלו מהשאילתה לעיל מראות שהרישומים מוצגים לפי הסדר העולה של שנת הלידה של העובד.

דוגמה 4:

מיון מערכי java

כתוב שאילתה כדי להציג את כל הפרטים של העובדים המסודרים בסדר יורד של שעת הלידה שלהם.

שאילתא:

 mysql> SELECT ID, Name, Salary, Joining_Date, DATE_FORMAT (DOB, '%H') AS Hour_Of_Birth FROM employees ORDER BY DATE_FORMAT (DOB, '%H') DESC; 

מכיוון שרצינו למיין את הרשומות בסדר יורד של שעת הלידה של עובדים, אז החלמנו את הסעיף ORDER BY עם מילת המפתח DESC. הפונקציה DATE_FORMAT () מופעלת על העמודה DOB עם הפרמטר '%H' כדי לחלץ רק את שעת הלידה מהעמודה 'DOB'.

תקבל את הפלט הבא:

תְעוּדַת זֶהוּת שֵׁם שכר תאריך_הצטרפות שעת_לידה
2 קונל מוהיט 34000 2021-01-01 19
1 רוהיט עוד 50000 2020-02-08 18
4 עננט דסאי 59000 27-08-2018 חֲמֵשׁ עֶשׂרֵה
6 בהבש ג'יין 37,000 2021-07-03 13
3 סאורבה ג'ה 61000 2015-05-01 12
5 קרישנה שארמה 48000 2010-10-23 02

התוצאות שהתקבלו מהשאילתה לעיל מלמדות כי הרישומים מוצגים לפי הסדר היורד של שעת הלידה של העובד.

דוגמה 5:

כתוב שאילתה כדי להציג את כל הפרטים של העובדים המסודרים בסדר עולה של שנת הצטרפותם.

שאילתא:

 mysql> SELECT ID, Name, Salary, DOB, DATE_FORMAT (Joining_Date, '%Y') AS Year_Of_Joining FROM employees ORDER BY DATE_FORMAT (Joining_Date, '%Y'); 

מכיוון שרצינו למיין את הרשומות בסדר עולה של שנת ההצטרפות של עובדים, אז החלטנו את סעיף ה-ORDER BY. הפונקציה DATE_FORMAT () מוחלת על העמודה Joining_Date עם הפרמטר '%Y' כדי לחלץ רק את השנה מ-'Joining_Date'.

תקבל את הפלט הבא:

תְעוּדַת זֶהוּת שֵׁם שכר שנת_הצטרפות DOB
5 קרישנה שארמה 48000 2010 21-03-1999 02:14:56
3 סאורבה ג'ה 61000 2015 20-02-1983 12:18:45
4 עננט דסאי 59000 2018 29-06-1978 15:45:13
1 רוהיט עוד 50000 2020 28-01-1991 18:06:08
2 קונל מוהיט 34000 2021 15-05-1990 19:10:00
6 בהבש ג'יין 37,000 2021 02-08-1998 13:00:01

התוצאות שהתקבלו מהשאילתה לעיל מראות שהרשומות מוצגות לפי הסדר העולה של שנת ההצטרפות של העובדים.

דוגמה 6:

כתוב שאילתה להצגת כל הפרטים של העובדים המסודרים בסדר יורד של יום ההצטרפות של העובדים.

שאילתא:

 mysql> SELECT ID, Name, Salary, DAY (Joining_Date) AS Day_Of_Joining, DOB FROM employees ORDER BY DAY (Joining_Date) DESC; 

מכיוון שרצינו למיין את הרשומות בסדר יורד של יום ההצטרפות של עובדים, אז הפעלנו את סעיף ORDER BY עם מילת המפתח DESC. הפונקציה DAY () מופעלת בעמודה 'תאריך_הצטרפות' כדי לחלץ רק את יום ההצטרפות מתאריך_הצטרפות.

תקבל את הפלט הבא:

תְעוּדַת זֶהוּת שֵׁם שכר יום_ההצטרפות DOB
4 עננט דסאי 59000 27 29-06-1978 15:45:13
5 קרישנה שארמה 48000 23 21-03-1999 02:14:56
1 רוהיט עוד 50000 8 28-01-1991 18:06:08
6 בהבש ג'יין 37,000 3 02-08-1998 13:00:01
2 קונל מוהיט 34000 1 15-05-1990 19:10:00
3 סאורבה ג'ה 61000 1 20-02-1983 12:18:45

התוצאות שהתקבלו מהשאילתה לעיל מראות שהרשומות מוצגות לפי הסדר היורד של יום ההצטרפות של העובדים.

דוגמה 7:

כתוב שאילתה להצגת כל הפרטים של העובדים המסודרים בסדר עולה של יום הולדת העובדים.

שאילתא:

 mysql> SELECT ID, Name, Salary, Joining_Date, DAY (DOB) AS Day_Of_Birth FROM employees ORDER BY DAY (DOB); 

מכיוון שרצינו למיין את הרשומות בסדר עולה של יום הלידה של העובדים, אז החלטנו את סעיף ה-ORDER BY. הפונקציה DAY () מופעלת בעמודה 'DOB' כדי לחלץ רק את יום הלידה מ-DOB.

תקבל את הפלט הבא:

תְעוּדַת זֶהוּת שֵׁם שכר שנת_הצטרפות יום ההולדת
6 בהבש ג'יין 37,000 2021-07-03 2
2 קונל מוהיט 34000 2021-01-01 חֲמֵשׁ עֶשׂרֵה
3 Saurabh Jha 61000 2015-05-01 עשרים
5 קרישנה שארמה 48000 2010-10-23 עשרים ואחת
1 רוהיט עוד 50000 2020-02-08 28
4 עננט דסאי 59000 27-08-2018 29

התוצאות שהתקבלו מהשאילתה לעיל מלמדות כי הרישומים מוצגים לפי הסדר העולה של יום הלידה של העובד.

פולימורפיזם בג'אווה

דוגמה 8:

כתוב שאילתה להצגת כל פרטי העובדים המסודרים בסדר עולה של חודש הלידה של העובד.

שאילתא:

 mysql> SELECT ID, Name, Salary, Joining_Date, DOB FROM employees ORDER BY MONTH (DOB); 

תְעוּדַת זֶהוּת שֵׁם שכר תאריך_הצטרפות DOB
1 רוהיט עוד 50000 2020-02-08 28-01-1991 18:06:08
3 סאורבה ג'ה 61000 2015-05-01 20-02-1983 12:18:45
5 קרישנה שארמה 48000 2010-10-23 21-03-1999 02:14:56
2 קונל מוהיט 34000 2021-01-01 15-05-1990 19:10:00
4 עננט דסאי 59000 27-08-2018 29-06-1978 15:45:13
6 בהבש ג'יין 37,000 2021-07-03 02-08-1998 13:00:01

התוצאות שהתקבלו מהשאילתה לעיל מראות שהרשומות מוצגות לפי הסדר העולה של חודש הלידה של העובד.

דוגמה 9:

כתוב שאילתה להצגת כל פרטי העובדים המסודרים בסדר עולה של חודש ההצטרפות של העובד.

שאילתא:

 mysql> SELECT ID, Name, Salary, Joining_Date, DOB FROM employees ORDER BY MONTH (Joining_Date); 

מכיוון שרצינו למיין את הרשומות בסדר עולה של חודש ההצטרפות של עובדים, אז החלטנו את סעיף ה-ORDER BY. הפונקציה MONTH () מופעלת בעמודה 'תאריך_הצטרפות' כדי לחלץ רק את חודש ההצטרפות מתאריך_הצטרפות.

תקבל את הפלט הבא:

תְעוּדַת זֶהוּת שֵׁם שכר תאריך_הצטרפות DOB
2 קונל מוהיט 34000 2021-01-01 15-05-1990 19:10:00
1 רוהיט עוד 50000 2020-02-08 28-01-1991 18:06:08
3 סאורבה ג'ה 61000 2015-05-01 20-02-1983 12:18:45
6 בהבש ג'יין 37,000 2021-07-03 02-08-1998 13:00:01
4 עננט דסאי 59000 27-08-2018 29-06-1978 15:45:13
5 קרישנה שארמה 48000 2010-10-23 21-03-1999 02:14:56

התוצאות שהתקבלו מהשאילתה לעיל מראות שהרשומות מוצגות לפי הסדר העולה של חודש ההצטרפות של העובד.