我正在尝试从上周中午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
答案 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";