我的表格中有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
分组?
答案 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;