我有一个表订单,用于存储有关订单的信息(包括OrdersName,OrdersSurname,OrdersEmail,OrdersPhone),这是我需要获取的信息。
它包含一个OrdersFinishedTime字段,它是一个DateTime字段,用于存储订单完成时的数据。
我需要做的是从Orders表中为超过180天没有购买任何东西的用户选择OrdersName,OrdersSurname,OrdersEmail,OrdersPhone。
那就是 - 我需要找到超过180天前购买LAST UNIQUE的独特用户。
提前致谢!
编辑:
我知道如何查找超过180天的所有记录,但我需要的记录是180天以上,并且在该日期之后没有更多订单(对于该特定用户)!
EDIT2: 你可能没有通过阅读这个问题。我需要找到超过180天没有购买任何东西的独特用户。我不需要超过180天的订单,我需要存储在订单中的用户信息。
我当前的SQL查询是这样的:
SELECT DISTINCT O。OrdersEmail
,O。OrdersName
,O。OrdersSurname
,O。OrdersPhone
,O。{{1} }
FROM(SELECT OrdersFinishedTime
,MAX(OrdersPhone
)AS OrdersFinishedTime
FROM OrdersFinishedTime
WHERE YEAR(Orders
)> = 2010 GROUP BY OrdersFinishedTime
HATED DATEDIFF(NOW(),MAX(OrdersPhone
))> = 180)AS LastOrders
INNER JOIN OrdersFinishedTime
正在使用(Orders
,OrdersPhone
)订购OrdersFinishedTime
DESC
答案 0 :(得分:0)
SELECT OrdersName,OrdersSurname,OrdersEmail,OrdersPhone from Orders
WHERE TO_DAYS(NOW()) - TO_DAYS(OrdersFinishedTime) > 180
ORDER BY OrdersFinishedTime DESC
LIMIT 1;
超过180天前的最后订单。
答案 1 :(得分:0)
试试这个:
SELECT `OrdersName`, `OrdersSurname`, `OrdersEmail`, `OrdersPhone` FROM `Orders ` WHERE `OrdersFinishedTime` < SUBDATE(NOW(), 180);
答案 2 :(得分:0)
肯定会有以下类似的事情。:
SELECT DISTINCT OrdersName,OrdersSurname,OrdersEmail,OrdersPhone FROM Orders
WHERE OrdersID IN
(SELECT OrdersID FROM Orders
WHERE OrdersFinishedTime < (NOW() - INTERVAL 180 DAY))
答案 3 :(得分:0)
SELECT * FROM Orders WHERE OrdersFinishedTime&lt; DATE_SUB(NOW(),INTERVAL 180 DAY)