Php 在MYSQL中选择从现在开始的最后7天()

Php 在MYSQL中选择从现在开始的最后7天(),php,mysql,Php,Mysql,谢谢你抽出时间来看我的问题 我有一个MYSQL查询: foreach( $wpdb->get_results( "SELECT wp_pixelcart_calendar.datefield AS DATE, IFNULL(SUM(wp_pixelcart_daily_sales.quantity),0) AS total_sales FROM wp_pixelcart_daily_sales RIGHT JOIN wp_pixelcart_calendar ON

谢谢你抽出时间来看我的问题

我有一个MYSQL查询:

foreach( $wpdb->get_results(
    "SELECT wp_pixelcart_calendar.datefield AS DATE,
    IFNULL(SUM(wp_pixelcart_daily_sales.quantity),0) AS total_sales
    FROM wp_pixelcart_daily_sales RIGHT JOIN wp_pixelcart_calendar ON (DATE(wp_pixelcart_daily_sales.order_date) = wp_pixelcart_calendar.datefield)
    WHERE (wp_pixelcart_calendar.datefield BETWEEN (SELECT MIN(DATE(order_date)) FROM wp_pixelcart_daily_sales) AND (SELECT MAX(DATE(order_date)) FROM wp_pixelcart_daily_sales))
    GROUP BY DATE"
) as $key => $row) {

echo "<br>". $row->DATE . "',". $row->total_sales . "],";

}
为此:

BETWEEN NOW() FROM wp_pixelcart_daily_sales) AND DATE_ADD(NOW(), INTERVAL 7 DAY) FROM wp_pixelcart_daily_sales))
但这似乎不起作用

谢谢你的帮助


谢谢

如果这不起作用,返回0个结果,考虑交换日期范围:

BETWEEN DATE_SUB(NOW(), INTERVAL 7 DAY) AND NOW()
其中订单日期=日期子项(订单日期,间隔7天)
你可以写:

SELECT * FROM table WHERE date_field > DATE_SUB(NOW(), INTERVAL 7 DAY)

我尝试过这个方法,但似乎没有产生任何结果WHERE(wp_pixelcart_calendar.datefield before NOW()和DATE_SUB(NOW(),INTERVAL 7 DAY))如果从WHERE子句中删除它,会返回任何结果吗?如果是,这些结果的日期是在过去7天内吗?我删除了WHERE并留下了BETWEEN NOW()。。。结果显示了,但不是过去七天的结果。如果有帮助的话,我正在使用本教程中的代码,您可能需要将datefield列中的日期更新为过去7天内(例如:2011-09-03、2011-09-04等),以便它们显示在查询结果中。嘿,我想出来了。感谢(wp_pixelcart_calendar.datefield介于('2011-09-01')和('2011-09-20'))之间)提供的帮助!这个答案是不正确的。它应该是
DATE\u SUB(NOW()
WHERE order_date <= NOW() AND order_date >= DATE_SUB(order_date, INTERVAL 7 DAY)
SELECT * FROM table WHERE date_field > DATE_SUB(NOW(), INTERVAL 7 DAY)