![](/img/trans.png)
[英]SQL Query to find customers who registered and purchased on the 2nd day to within 7th day of their registration
[英]SQL Query to find customers who registered and purchased on the same day
我希望得到所有在同一天注册和购买的客户给予一个开始和结束日期。
下面是架构:
用户
--CustId
--PostedDate
订购
--OrderId
--CustId
--PostedDate
如何编写查询以在特定日期内提取当天注册和购买的订单?
SELECT DISTINCT
Users.CustId
FROM
Users JOIN Order ON Users.CustId = Order.CustId
WHERE
DATE(Users.PostedDate) = DATE(Order.PostedDate)
AND Users.PostedDate BETWEEN @start_date AND @end_date`
这是假设PostedDate
是一个日期时间而不是日期字段。 如果它实际上是一个日期字段,则DATE(Users.PostedDate) = DATE(Order.PostedDate)
可以缩短为Users.PostedDate = Order.PostedDate
,然后WHERE子句的那部分可以作为索引使用的候选者。
怎么样
SELECT u.CustId FROM Users AS u
INNER JOIN Orders AS o
ON u.CustId = o.CustId AND u.Posted Date = o.PostedDate
WHERE u.PostedDate BETWEEN @Date1 AND @Date2
希望这可以帮助。
SELECT *
FROM Users, Order
WHERE Users.CustId = Order.CustId AND
Users.PostedDate = Order.PostedDate
SELECT u1.CustId FROM Users u1, Order o1 WHERE u1.CustId = o1.CustId AND
u1.PostedDate = o1.PostedDate and o1.PostedDate between
to_date('<startdate>','<oracleformat>') and to_date('fromdate','<>')+1
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.