gpt4 book ai didi

MySQL:多行内的 "AND"条件

转载 作者:行者123 更新时间:2023-11-29 11:33:53 26 4
gpt4 key购买 nike

表格如下所示:

id | event_id | date |

1 | 2 | 2016-04-29
2 | 2 | 2016-04-31
3 | 1 | 2016-04-30
4 | 1 | 2016-04-31

我需要运行一个查询,该查询将返回分组的 event_ids,其中包含请求时间段之间的所有日期

例如,查看上表:

如果查询是(=> 2016-04-29 ) :( <= 2016-04-31 ) ,不应返回任何事件。

如果查询是(=> 2016-04-30 ) :( <= 2016-04-31 ) ,应该返回 event_id = 1。

如何解决这个问题?

最佳答案

你会想到这样的事情:

SELECT event_id AS eid FROM `test` WHERE date BETWEEN '2016-04-30' AND '2016-04-31'
GROUP BY event_id
HAVING COUNT(*) = (SELECT COUNT(*) FROM `test` WHERE event_id = eid)

或者这个:

SELECT event_id AS eid FROM `test` WHERE date IN ('2016-04-30', '2016-04-31')
GROUP BY event_id
HAVING COUNT(*) = (SELECT COUNT(*) FROM `test` WHERE event_id = eid)

顺便说一句,四月只有 30 天

关于MySQL:多行内的 "AND"条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36939170/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com