假设我有一个简单的 mysql 表,其中包含 id、title、date 列。每天可以有几行,但不是每天都有一行。例如,可能有 5 行以 6 月 15 日为日期,但零行以 6 月 14 日为日期。我怎样才能得到过去 7 天的所有结果,不包括 6 月 14 日,因为它没有行。所以我不只是从当前日期减去 7 天。我只想获得过去 7 天的任何行。
然后我想将每一天作为单个结果返回,就像按日期分组一样,但是按时间戳的年/月/日部分,这样我得到的只有 7 个结果,每个结果就像一个数组个别行。
我希望这是有道理的。有任何想法吗?
编辑:我意识到我可以这样做:
WHERE Date BETWEEN DATE_SUB( NOW(), INTERVAL DATEDIFF( NOW(), (SELECT Date FROM test GROUP BY Date LIMIT 7,1 ) ) DAY ) and NOW()
但这会产生 SQL 语法错误。我正在尝试做的是一个子查询和按日期分组以每天获得一个结果,并从偏移量 7 开始返回一个结果,然后DATEDIFF
对其进行操作以获得DATE_SUB
应该放入的天数INTERVAL x DAYS