2013-09-26 80 views
1

寻找一个查询与先前的周累计SQL前一周总

当前日期

SELECT Sum(total_cost)AS "total" 
FROM purchases 
WHERE datetime >= Curdate(); 

当前周

SELECT SUM(total_cost)as "total" 
FROM purchases 
WHERE datetime >= DATE_SUB(CURDATE(), INTERVAL 1 WEEK); 

前一天

SELECT SUM(total_cost)AS "total" 
FROM purchases 
WHERE datetime >= DATE_SUB(CURDATE(), INTERVAL 1 DAY) 
    AND datetime <= CURDATE(); 

寻找与此相似的查询用于计算上周。似乎无法得到它的工作。

回答

1

可能是你想要的: -

SELECT SUM(total_cost)AS "total" 
    FROM purchases 
`datetime ` >= DATE_SUB(NOW(),INTERVAL 14 DAY) 
AND `datetime ` < DATE_SUB(NOW(),INTERVAL 7 DAY) 
+0

这给了我同样的结果本周 – user1715025

+1

这是给的最后7天的结果。因此,如果今天说的是2013年9月26日,那么这会将2013年9月19日的数据提交到2013年9月25日。这就是前一周的情况。我错过了明显吗? –

+0

我试图得到“当前周”之前7天开始的总数 – user1715025

0
select SELECT SUM(total_cost) AS "total" 
    FROM purchases 
    WHERE datetime between dateadd(d,-14,CURDATE()) and dateadd(d,-7,CURDATE())