我正在寻找一种基于以下方式选择行的方法:
>本周(S-S)
>上周(S-S)
我遇到的问题是从周日到周日特别选择.
目前我正在使用:
SELECT SUM(time)
FROM `time`
WHERE `projectid` = '$pid' && created > DATE_SUB(NOW(), INTERVAL 1 WEEK)
任何帮助都会很棒,谢谢!
解决方法:
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))
笔记
第一个条件(创建> NOW() – INTERVAL 2 WEEK)需要先获取当前和前几周的所有数据,然后限制您感兴趣的两周.否则,如果您有足够的数据,那么将获得表格中每年相应周数的所有数据的汇总.它还具有允许查询在该字段上使用索引的额外好处.
由于一年的第一周,您还需要使用“周(现在() – 间隔1周)”.否则,WEEK(NOW()) – 1就足够了
标签:mysql,sql
来源: https://codeday.me/bug/20190708/1405395.html