如何从周四到周三查询上周?

时间:2015-01-04 05:30:09

标签: php mysql sql

我正在尝试从上周中午12:00到周三晚上中午12点从上周开始查询记录。

这需要始终运行并保持最新状态。我对周四到周三的当周有另一个查询,它确实有效。我只需要另一个查询,显示从上周过去一周后的结果。

我相信这个查询是针对上周但不是从周四开始到周三结束。

 SELECT collector, SUM('amountcollected') as 'totalsum' FROM commissioninfo 
   WHERE thedate >= Curdate() - INTERVAL Dayofweek(Curdate())+6 day 
   AND thedate < Curdate() - INTERVAL Dayofweek(Curdate())-1 day  
   GROUP BY collector ORDER BY totalsum DESC

1 个答案:

答案 0 :(得分:0)

使用MySQL自己的日期函数可能有更好的方法,但我想我可能会这样做。我假设你的意思是周三晚上11:59:59,但不是中午:

$lastThursday = new DateTime("Thursday last week");

$wednesday = new DateTime("Wednesday");

$today = new DateTime("now");

$day = $today->format("l");

if ($day == "Sunday" || $day == "Monday" || $day == "Tuesday" || $day == "Wednesday") {
    $lastThursday->modify("-1 week");
    $wednesday->modify("-1 week");
}

$query = "SELECT collector, SUM('amountcollected') as 'totalsum' FROM commissioninfo WHERE thedate BETWEEN ".$lastThursday->format("Y-m-d")." AND ".$wednesday->format("Y-m-d ")." GROUP BY collector ORDER BY totalsum DESC";