[英]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.