我怎样才能找到上个月的记录?

时间:2016-03-03 07:42:05

标签: mysql

我如何在当月发现上个月的记录。

离。

12-11-2015
12-12-2015
12-1-2016
12-2-2016

我写了这样的查询:

select * from tbl where  MONTH(date) < MONTH(CURDATE());

它只显示12-1-2016的一条记录。但我想要除了最后一项记录12-2-2016之外的所有记录。

我认为不同年份的问题。

2 个答案:

答案 0 :(得分:1)

试试这个:

SELECT * 
FROM tbl 
WHERE (MONTH(date) < MONTH(CURDATE()) AND YEAR(date) = YEAR(CURDATE())) 
      OR
      YEAR(date) < YEAR(CURDATE())

上述查询中使用的谓词基本上说:如果两个日期都在同一年,那么你可以比较月份,否则你只需要比较年份值。

答案 1 :(得分:0)

select * from tbl where  MONTH(date) < MONTH(CURDATE()) OR YEAR(date) < YEAR(CURDATE());