MySQL 获取上一年的记录

MySQL to get previous year record

我想要一个 MySQL 查询来获取上一年的记录。 我已经写了一个查询来获取当年的记录,但我也想要上一年的记录。根据这个日期,有一个名为 "date_created" 的列,我必须获取材料的状态。

SELECT material_status, COUNT(*) c
FROM purchase_order
WHERE YEAR(date_created) = YEAR(CURDATE()) AND material_status='open'; 

获取去年的数据

SELECT material_status, COUNT(*) c
FROM purchase_order
WHERE YEAR(date_created) = YEAR(DATE_SUB(CURDATE(), INTERVAL 1 YEAR)) AND material_status='open'; 

查询 MySQL 的日期时间函数如何工作

试试这个:

select 
CURRENT_USER() user, 
CURRENT_TIME() current_time, 
CURRENT_DATE() current_date, 
year(CURRENT_DATE()) current_year, 
YEAR(DATE_SUB(CURDATE(), INTERVAL 1 YEAR)) previous_year;