PHP / SQL显示过去60天以上的行

时间:2014-01-09 20:53:38

标签: php mysql sql

我的表格中有datetime(Y-m-d H:i:s)

我希望能够显示日期时间列为60天以上的所有行

我试过这个,但它似乎没有显示正确的行:

SELECT * from customer_communication WHERE datetime < DATE_SUB(DATE(now()), INTERVAL 60 DAY) order by datetime DESC

此表中还有一个customer列,因为每个客户都有多行。每次联系时,它都会为该客户添加一个新行,因此我需要按customer分组还是按datetime分组?

1 个答案:

答案 0 :(得分:2)

你的问题有点不清楚。我将其解释为“让所有在过去60天内没有沟通的客户”。这样做的逻辑是由客户聚合并查看最大通信日期:

SELECT customer
from customer_communication
group by customer
having max(datetime) < DATE_SUB(DATE(now()), INTERVAL 60 DAY)
order by max(datetime) DESC;