【发布时间】:2011-08-30 16:53:24
【问题描述】:
您好,我有一张带有日期字段和其他信息的表格。 我想选择过去一周的所有条目,(一周从星期日开始)。
表值:
id date
2 2011-05-14 09:17:25
5 2011-05-16 09:17:25
6 2011-05-17 09:17:25
8 2011-05-20 09:17:25
15 2011-05-22 09:17:25
我想选择上周的所有 id,预期输出为 5、6、8。 (id 2 不在上周,id 15 在本周。)
如何写和SQL查询一样。
【问题讨论】:
-
所以澄清一下,您需要从周日开始的数据,而不一定是 7 天的数据?因此,如果今天是星期一,您将获得 2 天的数据(星期日和星期一)?
-
周日到周六。不会持续 7 天
-
我现在不想将其实际转换为 SQL,但您可以在 Wikipedia 上找到一种算法来确定一周中的哪一天,然后使用它来决定回溯多远: en.wikipedia.org/wiki/…
-
@Brendan Long:他可以使用
SELECT id FROM tbl WHERE WEEK(date, 0) = WEEK(NOW(), 0) - 1数周,但我猜他的目标是不是真正的日历周。至少他没有提到像 ISO-8601 这样的技术,或者他是否希望考虑到今年的转变。 -
对我来说答案是
WHERE table.column >= DATE(NOW()) - INTERVAL 7 DAY
标签: mysql sql database datetime