我正在寻找一种基于以下方式选择行的方法:
我遇到的问题是从周日 - 周日中专门选择。
目前我正在使用:
SELECT SUM(time)
FROM `time`
WHERE `projectid` = '$pid' && created > DATE_SUB(NOW(), INTERVAL 1 WEEK)
任何帮助都会很棒,谢谢!
答案 0 :(得分:1)
MySQL确实有一个WEEK
函数可以使用:
SELECT SUM(time)
FROM `time`
WHERE
`projectid` = '$pid'
AND created > NOW() - INTERVAL 2 WEEK
AND WEEK(created) IN (WEEK(NOW()), WEEK(NOW() - INTERVAL 1 WEEK))
需要第一个条件(created > NOW() - INTERVAL 2 WEEK
)才能获得当前和前几周的所有数据,然后限制您感兴趣的两周。否则,如果您有足够的数据,您将获得表格中每年相应周的所有数据的汇总。它还有一个额外的好处,即允许查询在该字段上使用索引。
您还需要使用" WEEK(NOW() - INTERVAL 1 WEEK)
"由于今年的第一周。否则,WEEK(NOW()) - 1
就足够了