【发布时间】:2013-01-09 07:39:10
【问题描述】:
有一些解决方案,但我不知道如何为我的表更改它。所以我希望有人可以帮助我。
我有下表
╔═════╦═════════╦════════════╦════════════╦═══════════╗
║ UID ║ TITLE ║ BEGIN ║ END ║ RECURRING ║
╠═════╬═════════╬════════════╬════════════╬═══════════╣
║ 1 ║ event A ║ 1359741600 ║ 1359745200 ║ none ║
║ 1 ║ event B ║ 1359741600 ║ 0 ║ daily ║
║ 1 ║ event C ║ 1359741600 ║ 0 ║ weekly ║
║ 1 ║ event D ║ 1359741600 ║ 0 ║ monthly ║
║ 1 ║ event E ║ 1359741600 ║ 0 ║ yearly ║
╚═════╩═════════╩════════════╩════════════╩═══════════╝
我现在如何选择从现在开始最多 7 天的每个事件以及未来 7 天内的所有重复事件?
以下我已经尝试过但效果不是很好并且没有完成。
SELECT
*
FROM
`tx_events_domain_model_event`
WHERE
/* none recurring events in the next 7 days */
(
recuring = 'none'
AND (begin_date + begin_time) >= UNIX_TIMESTAMP(NOW())
AND (end_date + end_time) <= UNIX_TIMESTAMP(DATE_ADD(NOW(), INTERVAL 7 DAY))
)
OR
/* Daily */
recuring = 'daily'
OR
/* Weekly */
(
recuring = 'weekly'
AND DAYOFWEEK(NOW()) - 1 <= DAYOFWEEK(FROM_UNIXTIME(begin_date)) - 1
)
OR
/* Monthly */
(recuring = 'monthly'
AND
【问题讨论】:
-
你想要的输出是什么?
-
欢迎来到 SO :) user1960507 问题 +1,JW +1。用于请求预期结果:)
-
@JW:我需要帮助来创建查询(或获取最终查询)以获取一天中的所有事件(包括重复事件)(如当天或我指定的任何其他日期)。 ..谢谢
标签: mysql sql events repeat recurring