从表中获取最近三个月的记录

ung*_*ban 26 postgresql

如何从表中获取最近3个月的记录.

SELECT*from table from month> CURRENT_DATE-120和month <CURRENT_DATE order by month;

我用过上面的查询是否正确?我是否应该使用它来获取表中最近3个月的记录.

dzi*_*ida 79

您可以使用内置INTERVAL指令

检查这是如何工作的:

SELECT CURRENT_DATE - INTERVAL '3 months'
Run Code Online (Sandbox Code Playgroud)

并且您可以将SQL重写为:

SELECT * from table where date >  CURRENT_DATE - INTERVAL '3 months'
Run Code Online (Sandbox Code Playgroud)

(未选中,但这可以让您了解如何使用INTERVAL指令)

  • 可能应该注意的是,这种方法将检索具有介于当前日期和“3 个月前”之间的“日期”字段的记录(这与说 28、30 或 31 天前基本相同,具体取决于月)。如果您想要日期在过去 3 个日历月内的记录,您将不得不做一些不同的事情。 (2认同)