mysql - 如何从MYSQL中的日期列表中获取开始年份和结束年份

标签 mysql

这是我的项目表。它有两个字段 id 和 project_created_date。我想从 project_created_date 获取开始年份和结束年份。在本例中,起始年份为 2016 年,结束年份为 2018 年。

 -----------------------------------
|   ID  |   PROJECT_CREATED_DATE    |
 -----------------------------------
|   1   |       2018-07-11          |
 -----------------------------------
|   2   |       2018-07-13          |
 -----------------------------------
|   3   |       2018-07-23          |
 -----------------------------------
|   4   |       2016-12-14          |
 -----------------------------------
|   5   |       2017-07-31          |
 -----------------------------------

如果我这样查询,我可以获得开始和结束年份。

 SELECT year(PROJECT_CREATED_DATE) as startYear FROM `projects` ORDER BY PROJECT_CREATED_DATE ASC LIMIT 1
 SELECT year(PROJECT_CREATED_DATE) as endYear FROM `projects` ORDER BY PROJECT_CREATED_DATE DESC LIMIT 1

但我想将查询合并为一个。我的意思是我想得到这样的结果

  ------------------------------
|   startYear   |   endYear     |
 -------------------------------
|       2016    |     2018      |
 -------------------------------

最佳答案

只需使用minmax 函数

      SELECT min(year(PROJECT_CREATED_DATE)) as  startYear,
        max(year(PROJECT_CREATED_DATE)) as EndYear FROM `projects` 

关于mysql - 如何从MYSQL中的日期列表中获取开始年份和结束年份,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51492502/

相关文章:

mysql - 重复键更新后的多次插入

javascript - 如何使用 PHP 从数据库中获取数据并将其传递给 Javascript

c# - 从日期时间字段获取日期 Mysql 查询

php - 如何在数据库中允许和存储子选项

mysql - 如何组织 MySQL 数据库来存储此 XML 数据

php - 打开 phpmyadmin 时访问被拒绝

mysql - 避免使用 UNION 和 ORDER BY 的 mysql 查询中出现重复

PHP:如何在不使用数组作为结果的情况下从 MySQL 中的单行中选择单个值

mysql - 模拟 group by, order by, limit 从 mysql 到 ms sql 2000

python - 无法在 postgresql sqlalchemy 中创建表