我正在使用mysql。
我现在有列为customer_id, order_id, order_date(datetime)的orders表,我希望在一个查询中找到2013年12月20日的所有订单,这些订单来自重复客户(不是新客户,即客户之前也下了一些订单)。
Orders表也有其他典型的列,这里没有提到。让我知道我可以提供更多的数据。
更新:我们可以在没有子查询的情况下完成吗?如果是,怎么做?(只是好奇)
发布于 2013-12-21 12:01:45
select customer_id , order_id, order_date from orders where order_date between
'20/12/2013 00:00:00' and '20/12/2013 23:59:00' AND
customer_id IN (SELECT customer_id FROM orders where order_date < '20/12/2013')发布于 2015-01-27 08:23:19
假设order_id是表orders中的主键,而customer_id是外键,则可以使用以下带有self的查询来提取与重复客户对应的所有order_id列表:
select order_id, customer_id
from orders a, orders b
where a.customer_id = b.customer_id
and order_date = '20131220'发布于 2013-12-21 11:48:00
现在检查这个查询
SELECT * FROM `orders` WHERE DATE='20/12/2013' AND customer_id IN (SELECT customer_id FROM yearly_sales WHERE DATE < '20/12/2013' )https://stackoverflow.com/questions/20718623
复制相似问题