MySql 我如何返回过去 60 天和不在 60 天内的多个特定 ID?

Posted

技术标签:

【中文标题】MySql 我如何返回过去 60 天和不在 60 天内的多个特定 ID?【英文标题】:MySql How do I return last 60 days and multiple specific ids not within 60 days? 【发布时间】:2021-07-14 00:05:30 【问题描述】:

我正在尝试从过去 60 天内的所有预定约会中提取数据,以及针对不可用而对其有重复规则的特定多个 ID。

这些重复规则是 1、2、3、4、5、6 和 7 的 ID,它们在 60 天后没有返回,但我希望它们也被取消,这可能吗?

这是我到目前为止的查询,我相信为了实现这一点,我必须有另一个 select 语句?我想在一个查询中完成这一切。

select Id, Subject, StartTime, EndTime, Recurrence, RecurrenceType, CustomStyle, IsAllDay, RecurrenceStartDate, RecurrenceEndDate, RecurrenceRule, StartTimeZone, EndTimeZone, IsBlock, isSlotAvailable from schedule where date(DateCreated) BETWEEN NOW() - INTERVAL 60 DAY AND NOW()

【问题讨论】:

【参考方案1】:

如果您的意思是您希望在 60 天内和 (1,2,3,4,5,6,7) 中的 id 通过查询返回。您可以使用or 条件。 在or 条件下,如果数据通过任何测试,它将返回。

select 
    Id, Subject, StartTime, EndTime, Recurrence, RecurrenceType, CustomStyle, IsAllDay, RecurrenceStartDate, RecurrenceEndDate, RecurrenceRule, StartTimeZone, EndTimeZone, IsBlock, isSlotAvailable 
    from schedule 
    where date(DateCreated) > (NOW() - INTERVAL 60 DAY)
    or Id in (1,2,3,4,5,6,7)

【讨论】:

以上是关于MySql 我如何返回过去 60 天和不在 60 天内的多个特定 ID?的主要内容,如果未能解决你的问题,请参考以下文章

js 获取昨天,今天和明天的年月日格式

Prometheus 每天查询不在 24 小时“桶”中

如何加快对 3 个表的 MySQL 查询(总共大约 60M 行)

如何在 PHP 中创建一个通知时间过去的方法

mysql 计算两个日期的时间差函数小时分钟格式

MySQL平均温度指定天数