也许使用JOIN选择65年内的日期范围


Selecting date range within 65 years using JOIN perhaps?

am试图在PHP发布脚本上提取查询,该脚本将提取信息

SELECT  `id`
FROM    `leads`
WHERE   `status` = 'Passed'
  AND   `campaign_id` = '22d0cf4f-0f81-28b1-d8dc-4f046bd1d8ee'

原始线路为

$id_query  =  mysql_query("SELECT  `id` FROM  `leads` WHERE  `status` =  'Passed' AND     'campaign_id' =  '22d0cf4f-0f81-28b1-d8dc-4f046bd1d8ee'"); 
$id = mysql_fetch_row($id_query); 
echo $id[0]; 

因此,我想添加一个日期变量,选择大于65年:

BETWEEN (current_date - "DateField") > 365.0 * 65.0

但显然这是行不通的。我正在考虑使用JOIN并添加

AND 'datesubmitted_c' BETWEEN Date_Add(curDate(), INTERVAL -65 YEARS) AND curDate()'
$id_query  =  mysql_query("SELECT  `id` FROM  `leads` WHERE  `status` =  'Passed' AND     'campaign_id' =  '22d0cf4f-0f81-28b1-d8dc-4f046bd1d8ee' AND 'datesubmitted_c' BETWEEN Date_Add(curDate(), INTERVAL -65 YEARS) AND curDate()'");

不确定使用联接是否合适?

I认为您正在寻找DATE_ADD方法,以便在范围之间进行检查。类似于:

SELECT  *
FROM    mytable
WHERE   _condition_1_
  AND   date_column BETWEEN CURDATE() AND DATE_ADD(CURDATE(), INTERVAL 65 YEAR)

它将检查日期列date_column的日期是否介于今天的日期和65年后的日期之间。

WHERE
  "DateField" BETWEEN Date_Add(curDate(), INTERVAL -65 YEARS) AND curDate()