Mysql 今天返回客户与新客户的销售报告
下面是我对《今日销售报告》的查询,该报告运行良好Mysql 今天返回客户与新客户的销售报告,mysql,subquery,Mysql,Subquery,下面是我对《今日销售报告》的查询,该报告运行良好 SELECT SUM( total_price ) AS total FROM basket LEFT JOIN `orders` ON basket.order_id=orders.order_id WHERE orders.date_added BETWEEN CURDATE() AND DATE_ADD(CURDATE(), INTERVAL 1 day) 现在,我需要另一个查询,以了解今天的销售有多少来自退货客户。我在订单表中有一个移动
SELECT SUM( total_price ) AS total FROM basket LEFT JOIN `orders` ON basket.order_id=orders.order_id WHERE orders.date_added BETWEEN CURDATE() AND DATE_ADD(CURDATE(), INTERVAL 1 day)
现在,我需要另一个查询,以了解今天的销售有多少来自退货客户。我在订单表中有一个移动列,每个客户都是唯一的,我们可以依靠该列来了解该客户是否有以前的购买记录
让我解释一下为什么我必须使用移动列,我的数据库没有电子商务平台中常见的customers表,正常情况下,有一个customers表具有唯一的customer\u id列,因此应该在Orders表中使用此customer\u id向客户分配订单。在我的平台上,因为我没有这个专栏,了解客户是新客户还是回来的唯一方法是在订单表中检查他的全名或手机号码,如果有过去几天的记录,这意味着客户重复,如果他的姓名或手机没有记录,则表示该客户是新客户我不知道该手机列包含什么内容,但它是这样工作的,并带有条件聚合
SELECT SUM( total_price ) AS total,
SUM(case when Mobile is not null then total_price else 0 end ) AS fromReturning
FROM basket
LEFT JOIN `orders` ON basket.order_id=orders.order_id
WHERE country='ae'
AND orders.date_added BETWEEN CURDATE() AND DATE_ADD(CURDATE(), INTERVAL 1 day)
AND orders.delivery_status <> -1
Mobile列是订单表中的客户手机号,如下所示:订单id、全名、手机、地址等。。。。我认为你方存在误解:因此,如果专栏中有内容,他就是一个回头客。我更新了查询。或者让我们更简单一点,假设我在Orders表中有唯一的customer_id,请忘记mobile列,让我解释一下为什么我必须使用mobile列,我的数据库没有电子商务平台中常见的customers表,正常情况下是customers表中有唯一的customer_id列,因此,应该在Orders表中使用此customer_id将订单分配给客户。在我的平台上,因为我没有这个专栏,了解客户是新客户还是回来的唯一方法是检查他的全名或手机号码,如果之前注册过,则表示客户重复,如果没有他的姓名或手机记录,则表示客户是新客户