logo

SQL TARİHE GÖRE SIRALAMA

  • ORDER BY, SQL'de, bir tablodan kayıtları artan veya azalan sırada getirmek için SELECT sorgusu ile kullanılan bir cümledir.
  • Tabloların sütunlarında saklanan tamsayı ve dize değerlerini sıraladığımız gibi, benzer şekilde SQL tablosunun sütununda saklanan tarihleri ​​de sıralayabiliriz.
  • Tüm kayıtlar varsayılan olarak artan sırada sıralanacaktır. Kayıtları azalan düzende sıralamak için DESC anahtar sözcüğü kullanılır.

Bu kavramı daha net anlamak için birkaç pratik örnek görelim. Tüm sorguları yazmak için MySQL veritabanını kullanacağız.

tamsayıyı dizeye dönüştür Java

Aşağıdaki verilerle MySQL veritabanında çalışanlar adlı bir tablo oluşturduğumuzu düşünün:

İD İsim Maaş Katılma_Tarihi DOB
1 Daha Fazla 50000 2020-02-08 1991-01-28 18:06:08
2 Kunal Mohit 34000 2021-01-01 1990-05-15 19:10:00
3 Saurabh Jha 61000 2015-05-01 1983-02-20 12:18:45
4 Anant Desai 59000 2018-08-27 1978-06-29 15:45:13
5 Krishna Sharma 48000 2010-10-23 1999-03-21 02:14:56
6 Bhavesh Jain 37000 2021-07-03 1998-08-02 13:00:01

Örnek 1:

Çalışanların tüm ayrıntılarını doğum tarihlerine göre artan sırada görüntülemek için bir sorgu yazın.

Sorgu:

 mysql> SELECT *FROM employees ORDER BY DOB; 

Kayıtları çalışanların doğum tarihine göre artan şekilde sıralamak istediğimiz için 'DOB' sütununda ORDER BY deyimini uyguladık.

Aşağıdaki çıktıyı alacaksınız:

İD İsim Maaş Katılma_Tarihi DOB
4 Anant Desai 59000 2018-08-27 1978-06-29 15:45:13
3 Saurabh Jha 61000 2015-05-01 1983-02-20 12:18:45
2 Kunal Mohit 34000 2021-01-01 1990-05-15 19:10:00
1 Daha Fazla 50000 2020-02-08 1991-01-28 18:06:08
6 Bhavesh Jain 37000 2021-07-03 1998-08-02 13:00:01
5 Krishna Sharma 48000 2010-10-23 1999-03-21 02:14:56

Yukarıdaki sorgudan elde edilen sonuçlar kayıtların DOB'a göre artan sıralamaya göre görüntülendiğini göstermektedir.

Örnek 2:

Çalışanların tüm ayrıntılarını katılma tarihlerine göre azalan sırada görüntülemek için bir sorgu yazın.

Sorgu:

 mysql> SELECT *FROM employees ORDER BY Joining_Date DESC; 

Kayıtları çalışanların katılma tarihine göre azalan şekilde sıralamak istediğimiz için 'Joining_Date' sütununda ORDER BY ifadesini DESC anahtar kelimesiyle uyguladık.

Aşağıdaki çıktıyı alacaksınız:

İD İsim Maaş Katılma_Tarihi DOB
6 Bhavesh Jain 37000 2021-07-03 1998-08-02 13:00:01
2 Kunal Mohit 34000 2021-01-01 1990-05-15 19:10:00
1 Daha Fazla 50000 2020-02-08 1991-01-28 18:06:08
4 Anant Desai 59000 2018-08-27 1978-06-29 15:45:13
3 Saurabh Jha 61000 2015-05-01 1983-02-20 12:18:45
5 Krishna Sharma 48000 2010-10-23 1999-03-21 02:14:56

Yukarıdaki sorgudan elde edilen sonuçlar, kayıtların birleştirme tarihlerine göre azalan sıraya göre görüntülendiğini göstermektedir.

Örnek 3:

Çalışanların tüm ayrıntılarını doğum yıllarına göre artan sırada görüntülemek için bir sorgu yazın.

Sorgu:

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

Kayıtları çalışanların doğum yılına göre artan şekilde sıralamak istediğimiz için ORDER BY deyimini uyguladık. 'DOB' sütunundan sadece yılı çıkarmak için DATE_FORMAT () işlevi DOB sütununa '%Y' parametresi ile uygulanır.

Aşağıdaki çıktıyı alacaksınız:

İD İsim Maaş Katılma_Tarihi Doğum yılı
4 Anant Desai 59000 2018-08-27 1978
3 Saurabh Jha 61000 2015-05-01 1983
2 Kunal Mohit 34000 2021-01-01 1990
1 Daha Fazla 50000 2020-02-08 1991
6 Bhavesh Jain 37000 2021-07-03 1998
5 Krishna Sharma 48000 2010-10-23 1999

Yukarıdaki sorgudan elde edilen sonuçlar, kayıtların çalışanın doğum yılına göre büyükten küçüğe doğru görüntülendiğini göstermektedir.

Örnek 4:

Çalışanların tüm ayrıntılarını doğum saatine göre azalan sırada görüntülemek için bir sorgu yazın.

Sorgu:

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

Kayıtları çalışanların doğum saatine göre azalan şekilde sıralamak istediğimiz için DESC anahtar kelimesiyle ORDER BY deyimini uyguladık. DATE_FORMAT() fonksiyonu DOB sütununa '%H' parametresi ile uygulanarak 'DOB' sütunundan yalnızca doğum saatinin çıkarılması sağlanır.

Aşağıdaki çıktıyı alacaksınız:

engellenen Kişiler
İD İsim Maaş Katılma_Tarihi Hour_Of_Birth
2 Kunal Mohit 34000 2021-01-01 19
1 Daha Fazla 50000 2020-02-08 18
4 Anant Desai 59000 2018-08-27 on beş
6 Bhavesh Jain 37000 2021-07-03 13
3 Saurabh Jha 61000 2015-05-01 12
5 Krishna Sharma 48000 2010-10-23 02

Yukarıdaki sorgudan elde edilen sonuçlar, kayıtların çalışanın doğum saatine göre azalan sıraya göre görüntülendiğini göstermektedir.

Örnek 5:

Çalışanların tüm ayrıntılarını, katıldıkları yıla göre artan sırada görüntülemek için bir sorgu yazın.

Sorgu:

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

Kayıtları çalışanların giriş yılına göre artan şekilde sıralamak istediğimiz için ORDER BY deyimini uyguladık. 'Joining_Date' sütunundan yalnızca yılı çıkarmak için '%Y' parametresi ile joining_Date sütununa DATE_FORMAT () işlevi uygulanır.

Aşağıdaki çıktıyı alacaksınız:

İD İsim Maaş Year_Of_Joining DOB
5 Krishna Sharma 48000 2010 1999-03-21 02:14:56
3 Saurabh Jha 61000 2015 1983-02-20 12:18:45
4 Anant Desai 59000 2018 1978-06-29 15:45:13
1 Daha Fazla 50000 2020 1991-01-28 18:06:08
2 Kunal Mohit 34000 2021 1990-05-15 19:10:00
6 Bhavesh Jain 37000 2021 1998-08-02 13:00:01

Yukarıdaki sorgudan elde edilen sonuçlar, kayıtların çalışanların işe giriş yıllarına göre büyükten küçüğe doğru görüntülendiğini göstermektedir.

Örnek 6:

Çalışanların işe giriş günlerine göre azalan sıraya göre düzenlenmiş tüm çalışan ayrıntılarını görüntülemek için bir sorgu yazın.

Sorgu:

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

Kayıtları çalışanların işe giriş günlerine göre azalan şekilde sıralamak istediğimiz için DESC anahtar kelimesiyle ORDER BY deyimini uyguladık. 'Joining_Date' sütununda, joining_Date'ten yalnızca katılma gününü çıkarmak için DAY () işlevi uygulanır.

Aşağıdaki çıktıyı alacaksınız:

İD İsim Maaş Day_Of_Joining DOB
4 Anant Desai 59000 27 1978-06-29 15:45:13
5 Krishna Sharma 48000 23 1999-03-21 02:14:56
1 Daha Fazla 50000 8 1991-01-28 18:06:08
6 Bhavesh Jain 37000 3 1998-08-02 13:00:01
2 Kunal Mohit 34000 1 1990-05-15 19:10:00
3 Saurabh Jha 61000 1 1983-02-20 12:18:45

Yukarıdaki sorgudan elde edilen sonuçlar, kayıtların çalışanların işe giriş günlerine göre azalan sıralamaya göre görüntülendiğini göstermektedir.

Örnek 7:

Çalışanların tüm ayrıntılarını çalışanların doğum günlerine göre artan sırada görüntülemek için bir sorgu yazın.

Sorgu:

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

Kayıtları çalışanların doğum günlerine göre artan şekilde sıralamak istediğimiz için ORDER BY deyimini uyguladık. DOB'dan yalnızca doğum gününü çıkarmak için 'DOB' sütununa DAY () işlevi uygulanır.

Aşağıdaki çıktıyı alacaksınız:

İD İsim Maaş Year_Of_Joining Doğum günü
6 Bhavesh Jain 37000 2021-07-03 2
2 Kunal Mohit 34000 2021-01-01 on beş
3 Saurabh Jha 61000 2015-05-01 yirmi
5 Krishna Sharma 48000 2010-10-23 yirmi bir
1 Daha Fazla 50000 2020-02-08 28
4 Anant Desai 59000 2018-08-27 29

Yukarıdaki sorgudan elde edilen sonuçlar, kayıtların çalışanın doğum gününe göre büyükten küçüğe doğru görüntülendiğini göstermektedir.

Örnek 8:

Çalışanların tüm ayrıntılarını, çalışanın doğum ayına göre artan düzende görüntülemek için bir sorgu yazın.

Sorgu:

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

İD İsim Maaş Katılma_Tarihi DOB
1 Daha Fazla 50000 2020-02-08 1991-01-28 18:06:08
3 Saurabh Jha 61000 2015-05-01 1983-02-20 12:18:45
5 Krishna Sharma 48000 2010-10-23 1999-03-21 02:14:56
2 Kunal Mohit 34000 2021-01-01 1990-05-15 19:10:00
4 Anant Desai 59000 2018-08-27 1978-06-29 15:45:13
6 Bhavesh Jain 37000 2021-07-03 1998-08-02 13:00:01

Yukarıdaki sorgudan elde edilen sonuçlar, kayıtların çalışanın doğum ayına göre büyükten küçüğe doğru görüntülendiğini göstermektedir.

Örnek 9:

Çalışanların tüm ayrıntılarını, çalışanın katıldığı aya göre artan sırada düzenlenmiş olarak görüntülemek için bir sorgu yazın.

Sorgu:

fabrika yöntemi tasarım deseni
 mysql> SELECT ID, Name, Salary, Joining_Date, DOB FROM employees ORDER BY MONTH (Joining_Date); 

Kayıtları çalışanların katıldıkları aylara göre artan şekilde sıralamak istediğimiz için ORDER BY deyimini uyguladık. 'Joining_Date' sütununda, joining_Date'ten yalnızca katılma ayını çıkarmak için MONTH () işlevi uygulanır.

Aşağıdaki çıktıyı alacaksınız:

İD İsim Maaş Katılma_Tarihi DOB
2 Kunal Mohit 34000 2021-01-01 1990-05-15 19:10:00
1 Daha Fazla 50000 2020-02-08 1991-01-28 18:06:08
3 Saurabh Jha 61000 2015-05-01 1983-02-20 12:18:45
6 Bhavesh Jain 37000 2021-07-03 1998-08-02 13:00:01
4 Anant Desai 59000 2018-08-27 1978-06-29 15:45:13
5 Krishna Sharma 48000 2010-10-23 1999-03-21 02:14:56

Yukarıdaki sorgudan elde edilen sonuçlar, kayıtların çalışanın işe girdiği aya göre büyükten küçüğe doğru görüntülendiğini göstermektedir.