我想显示特定日期的数据,例如一天的总收入,或一周的总收入等。
我不知道该怎么做,我只创建了一个显示总计的查询,但我还需要它来显示特定日期。正如我上面所说。
我的数据库表中的数据类型是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;
这将允许 MySQL 利用日期
上的索引。
请注意,我将左连接
更改为连接
。如果 order_detail
记录没有到 order
表的有效链接,那么数据库设计就会很糟糕。此外,您希望对第二个表进行过滤,这无论如何都会将外部联接转变为内部联接。
关于php - 显示特定日期的PHP数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25959124/