php - 如何从 MySQL 表中获取当前年份之前的年份

标签 php mysql sql

我需要一个年份刚好在当前年份之前的记录。我的表架构和数据是这样的

aca_id|aca_start_date | aca_end_date 
------|---------------|-------------- 
1     |2013-04-01     |2014-03-31
3     |2015-04-01     |2016-03-31 
7     |2014-04-01     |2015-03-31 

我想根据当前年份条件获取记录 - 如果当前日期年份是 2014 年,则获取第一条记录,因为它的 aca_start_date 是 2013 年,正好在 2014 年之前。如果当前日期年份是 2015 年,则获取记录第二条记录.我无法在 aca_start_date 上对表进行排序,因为出于其他目的,表是在 aca_id 上按降序排序的。

需要指导如何在 MySQL 查询中完成这项工作,或者这是否可以通过使用 php 来完成

最佳答案

这是一种方法:

select t.*
from table t
where year(aca_start_date) = year(now()) - 1
limit 1;

关于php - 如何从 MySQL 表中获取当前年份之前的年份,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22363816/

相关文章:

php - 向 Laravel 路由添加多个中间件

php - 如何在mysql数据库表中存储音频文件路径

php - EasyApache 更新后 mysql_connect 不起作用

android - SQLite 数据库中的外键

sql - Grails 在没有域关系的表上查询 LEFT JOIN

PHP 从表单插入

mysql - 选择表中的最低日期

mysql - 不能在 MARIADB 的删除语句中使用 ALIAS

sql - 如何使用 BigQuery 有效地选择另一个表中与子字符串匹配的记录?

PHP 异步网络服务