我在mysql中有一个表events,其中包含日期和事件类型,如下所示:
Date Event
1.11.2017 A
1.11.2017 B
1.11.2017 C
1.11.2017 D
2.11.2017 B
2.11.2017 C
2.11.2017 D
3.11.2017 A
3.11.2017 C
3.11.2017 E
4.11.2017 A
4.11.2017 B
4.11.2017 D
我想找出包括a和b事件的日期。在上述示例中,这将是2017年11月1日和2017年11月4日。我试过用in子句
select distinct Date from Events
where Event in ('A', 'B')
但是这个子句返回存在任何条件项(a或b)的行。
在必须包含所有列出的条件的情况下,我如何实现这种in子句?
2条答案
按热度按时间aiqt4smr1#
我使用子查询来计算a和b的出现次数。此解决方案假定每天的a或b不超过一个。
0x6upsns2#
试试这个:
它不需要
JOIN
,从而具有更好的性能。