0

我有这个while循环:

<?php 

          $q=mysql_query("SELECT * FROM xeon_stats_clicks WHERE user='".$userdata['username']."' AND typ='4' ORDER BY data DESC LIMIT 8") or die(mysql_error());   
          while($clickData=mysql_fetch_assoc($q)): 

              $r=mysql_query("SELECT sum(value) FROM `xeon_stats_clicks` WHERE user='".$userdata['username']."' AND typ='3' AND data='".date("Y/m/d")."' ORDER BY data DESC LIMIT 8");
             echo mysql_result($r, 0);



         endwhile;

          ?>

这只会给我今天的值行的总和。我怎样才能获得过去 7 天的数据?

4

2 回答 2

0
SELECT SUM( value ), `data` 
FROM table 
WHERE ( `data` BETWEEN CURDATE() AND CURDATE() - INTERVAL 1 WEEK ) 
GROUP BY `data`

例如。

尝试另一个 where 语句:

DATEDIFF( CURDATE(), CURDATE() - INTERVAL 1 WEEK ) = 7

并显示你的 where 语句

于 2013-09-25T18:28:02.140 回答
0

无需指定特定日期,因为它将在此特定日期为您提供,另一条评论建议使用“之间”,但我只喜欢在这种情况下使用“>”,例如:

SELECT sum(value) FROM xeon_stats_clicksWHERE user=.$userdata['username'] AND type='3' AND date > CURDATE() - INTERVAL 1 WEEK ORDER BY DESC LIMIT 8"

于 2013-09-25T18:43:11.400 回答