SQL,选择超过30天的条目,过滤30天以内在过去30天内有条目的条目

时间:2014-07-11 10:52:10

标签: mysql sql

不是我承认的最好的问题。我正在尝试编写查询以选择超过30天的条目。到目前为止我有这个

SELECT farm_list.customer_id, data_stored.`timestamp`  
FROM farm_db.data_stored data_stored
       INNER JOIN farm_db.farm_list farm_list
          ON (data_stored.farm_code = farm_list.farm_code)
WHERE data_stored.`timestamp` >= CURDATE() - 30
GROUP BY farm_list.customer_id

这适用于选择超过30天的所有条目,并按客户分组。

因此,有些客户在过去30天内和30天以内都有参赛作品。我想排除那些客户。查询的目的是突出显示非活动客户。每次服务器上有客户活动时,data_stored表都会更新。

如果我不清楚,请问我,我会尝试澄清。任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:2)

您所说的是客户最近的时间戳超过30天。所以,让我们实现这个:

SELECT farm_list.customer_id, max(data_stored.`timestamp`) as maxts
FROM hathor_hb.data_stored data_stored INNER JOIN
     farm_db.farm_list farm_list
     ON (data_stored.farm_code = farm_list.farm_code)
GROUP BY farm_list.customer_id
HAVING maxts <= CURDATE() - 30;