Php 显示特定日期的数据

Php 显示特定日期的数据,php,mysql,sql,Php,Mysql,Sql,我想显示特定日期的数据,例如,一天的总收入,或一周的总收入等等 我不知道该怎么做,我只创建了一个查询来显示总数,但我还需要它来显示具体的日期。正如我上面所说的 我的数据库表中的数据类型是TIMESTAMP,格式类似于2014-08-28 04:08:23 这是我的问题 $qry = "SELECT sum(order_detail.quantity*order_detail.price) as chenes, orders.date FROM order_detail

我想显示特定日期的数据,例如,一天的总收入,或一周的总收入等等

我不知道该怎么做,我只创建了一个查询来显示总数,但我还需要它来显示具体的日期。正如我上面所说的

我的数据库表中的数据类型是TIMESTAMP,格式类似于2014-08-28 04:08:23

这是我的问题

$qry = "SELECT sum(order_detail.quantity*order_detail.price) as chenes, orders.date 
        FROM order_detail 
        LEFT JOIN orders 
        ON order_detail.orderid=orders.serial";

我知道我会使用WHERE子句,但在那之后,我不知道下一步该怎么做。请帮助我,谢谢。

您可以将查询表达为:

SELECT sum(od.quantity*od.price) as chenes, o.date 
FROM order_detail od JOIN
     orders o
ON od.orderid = o.serial
WHERE date(o.date) = YOURDATEHERE
但是,这种格式使得MySQL很难在
date
列上使用索引。更好的代表性是:

SELECT sum(od.quantity*od.price) as chenes, o.date 
FROM order_detail od JOIN
     orders o
ON od.orderid = o.serial
WHERE o.date >= YOURDATEHERE and o.date < YOURDATEHERE + interval 1 day;
选择总和(od.数量*od.价格)作为chenes,o.日期
从订单到详细od连接
命令
在od.orderid=o.serial上
其中o.date>=YOURDATEHERE和o.date
这将允许MySQL利用
date
上的索引


注意,我将
左连接
更改为
连接
。如果
order\u detail
记录没有指向
order
表的有效链接,则数据库设计会很糟糕。此外,您还需要在第二个表上进行筛选,这将使外部联接变为内部联接。

where orders.date介于'yyyy-mm-dd H:i:s'和'yyyy-mm-dd H:i:s'之间。至于日期,现在获取每日报告时,时间并不重要@未定义的变量使用“yyyy-mm-dd”和“yyyy-mm-dd”之间的日期(orders.date)使用
GROUP BY
子句。@未定义的变量无效:(