首页 > 解决方案 > 在两组日期之间选择客户,而不仅仅是两个日期

问题描述

我有以下代码:

select ifnull(c.clientid,0) as ClientID, c.surname as Surname, c.addr1 as Address1, c.postcode as Postcode
from cust c
where (c.tour_date between '2019-06-10' and '2019-06-18')
and (c.tour_date between '2019-07-15' and '2019-07-23')
group by ClientID, Surname, Address1, Postcode
order by ClientID asc

它不起作用 - 我想做的是在两组日期之间选择日期。传统上,我们只会选择 2019-06-10 和 2019-07-23,但我们包含的许多客户不应该包含在内。

没关系,我改变了andor并且它正在工作,我很傻!

EDIT2:啊,实际上,当我使用时,or我得到了 2,005 个客户,但是当我进行两次单独的提取时,我得到了 2,029 个客户。有任何想法吗?

标签: sqlbetween

解决方案


You have more clients on separate queries because some have records between both date ranges. Your group by clause removes the duplicates.


推荐阅读