SQL查询,过去一年有谁来过

SQL query, who visited in the past year

我在 SQL 查询时遇到问题。特别是这个,它是这样的。

我有 2 个表,patients 和 visits。

CREATE TABLE patients (
   ID_patients INTEGER NOT NULL,
   Name VARCHAR NOT NULL
);

CREATE TABLE visit(
    ID_visit INTEGER NOT NULL,
    DATE_visit DATE NOT NULL,
    FK_patients INTEGER NOT NULL
);

现在我想查询一下,可以告诉我过去一年拜访了哪些患者?我不是指 2015 年,而是指 BETWEN(今天 - 365 天)和(今天 - 730 天)。我希望有人能给我一些有用的提示。

select * from visit
where DATE_visit between
CURRENT_DATE - interval 2 year and CURRENT_DATE - interval 1 year;

试试这个来获取所有 patients 个名字:

SELECT patients.name 
  FROM patients, visit
 WHERE patients.id = visit.fk_patients
   AND DATE_visit BETWEEN CURRENT_DATE - interval '2' year AND CURRENT_DATE - interval '1' year;