在 HTML 中SQL 按日期排序

在 HTML 中SQL 按日期排序

  • ORDER BY 是 SQL 中的一条关键字,与 SELECT 查询一起使用,从表中按升序或降序获取记录。
  • 就像我们对表列中存储的整数和字符串值进行排序一样,我们也可以对 SQL 表列中存储的日期进行排序。
  • 默认情况下,所有记录都将按升序排序。要按降序排序记录,使用 DESC 关键字。

让我们看几个实际示例,以更清楚地理解这个概念。我们将使用 MySQL 数据库编写所有查询。

假设我们在 MySQL 数据库中创建了一个名为 employees 的表,其中包含以下数据:

ID Name Salary Joining_Date DOB
1 Rohit More 50000 2020-02-08 1991-01-28 18:06:08
2 Kunal Mohite 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

示例 1:

编写一个查询以按照员工出生日期的升序显示所有员工的详细信息。

查询语句:

mysql> SELECT *FROM employees ORDER BY DOB;

由于我们想要按照雇员的出生日期升序排序记录,所以我们在“DOB”列上应用了ORDER BY子句。

您将获得以下输出:

ID Name Salary Joining_Date 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 Mohite 34000 2021-01-01 1990-05-15 19:10:00
1 Rohit More 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

从以上查询结果可以看出,记录按照出生日期的升序显示。

示例2:

编写一个查询,按照入职日期的降序显示所有员工的详细信息。

查询:

mysql> SELECT *FROM employees ORDER BY Joining_Date DESC;

由于我们希望按照员工加入日期的降序对记录进行排序,所以我们在”Joining_Date”列上应用了带有DESC关键词的ORDER BY子句。

您将获得以下输出:

ID Name Salary Joining_Date DOB
6 Bhavesh Jain 37000 2021-07-03 1998-08-02 13:00:01
2 Kunal Mohite 34000 2021-01-01 1990-05-15 19:10:00
1 Rohit More 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

从上述查询结果可以看出,记录按照加入日期的降序显示。

示例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’中的年份。

您将获得以下输出:

ID Name Salary Joining_Date Year_Of_Birth
4 Anant Desai 59000 2018-08-27 1978
3 Saurabh Jha 61000 2015-05-01 1983
2 Kunal Mohite 34000 2021-01-01 1990
1 Rohit More 50000 2020-02-08 1991
6 Bhavesh Jain 37000 2021-07-03 1998
5 Krishna Sharma 48000 2010-10-23 1999

从上面的查询结果可以看出,记录是根据员工出生年份的升序显示的。

示例4:

编写一个查询来按照员工出生小时的降序显示所有员工的详细信息。

查询:

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

由于我们想要按员工的出生小时降序对记录进行排序,所以我们使用了带有 DESC 关键字的 ORDER BY 子句。DATE_FORMAT() 函数应用于列 DOB,参数为’%H’,以仅从列 ‘DOB’ 中提取出生小时。

您将获得以下输出:

ID Name Salary Joining_Date Hour_Of_Birth
2 Kunal Mohite 34000 2021-01-01 19
1 Rohit More 50000 2020-02-08 18
4 Anant Desai 59000 2018-08-27 15
6 Bhavesh Jain 37000 2021-07-03 13
3 Saurabh Jha 61000 2015-05-01 12
5 Krishna Sharma 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’中提取年份。

你会得到以下输出:

ID Name Salary 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 Rohit More 50000 2020 1991-01-28 18:06:08
2 Kunal Mohite 34000 2021 1990-05-15 19:10:00
6 Bhavesh Jain 37000 2021 1998-08-02 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()函数应用于’Joining_Date’列,以从Joining_Date中提取入职日期的天数。

您将得到以下输出:

ID Name Salary 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 Rohit More 50000 8 1991-01-28 18:06:08
6 Bhavesh Jain 37000 3 1998-08-02 13:00:01
2 Kunal Mohite 34000 1 1990-05-15 19:10:00
3 Saurabh Jha 61000 1 1983-02-20 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子句。在列“DOB”上应用DAY()函数,仅提取DOB中的出生日期。

您将获得以下输出:

ID Name Salary Year_Of_Joining Day_Of_Birth
6 Bhavesh Jain 37000 2021-07-03 2
2 Kunal Mohite 34000 2021-01-01 15
3 Saurabh Jha 61000 2015-05-01 20
5 Krishna Sharma 48000 2010-10-23 21
1 Rohit More 50000 2020-02-08 28
4 Anant Desai 59000 2018-08-27 29

从上述查询中获得的结果显示,记录根据员工出生日期的升序进行显示。

示例8:

编写一个查询,按员工的出生月份的升序显示所有员工的详细信息。

查询:

mysql> SELECT ID, Name, Salary, Joining_Date, DOB FROM employees ORDER BY MONTH (DOB);
ID Name Salary Joining_Date DOB
1 Rohit More 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 Mohite 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

上述查询所获得的结果显示,记录根据员工的出生月份的升序显示。

示例9:

编写一个查询以按员工加入月份的升序显示所有员工的详细信息。

查询:

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

由于我们想要按照员工入职月份的升序对记录进行排序,因此我们应用了ORDER BY子句。MONTH()函数应用于“Joining_Date”列,以仅提取入职日期中的月份。

您将获得以下输出:

ID Name Salary Joining_Date DOB
2 Kunal Mohite 34000 2021-01-01 1990-05-15 19:10:00
1 Rohit More 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

通过上述查询获得的结果显示,记录按照员工入职月份的升序排序显示。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程