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 date DESC LIMIT 8"

于 2013-09-25T18:43:11.400 に答える