我有一个 PHP 脚本,当前从 MySQL 数据库中提取信息,其中一列值设置为“on” - 即表(产品)列“on_amazon”- VALUE =“on”。
Table : Product
Column : on_amazon
Value : 'on'
此报告显示当前标记为“on”的所有产品以及指定的行。
我需要能够每天运行此报告并显示上一份报告与当前报告之间的任何差异。这将反射(reflect)出今天和前一天之间是否存在数量差异。
我想我应该创建一个新表,转储其中的数据,将每个新的一天与前一个表进行比较,用新数据覆盖前一个表。冲洗并重复。
对于这种方法有更好的建议吗?
谢谢
最佳答案
假设您基本上想查看今天销售了多少产品,我只需向产品表中添加列,其中一列表示当天销售的产品总数“sold_today”,最后一列是“tran_date”。 更新表的数量列后,例如当 1 个产品售出时,我会执行以下操作:
update product set quantity = quantity - 1,
case when datediff(tran_date,curdate()) >= 1
then sold_today = 1
else sold_today = sold_today + 1
end,
tran_date = curdate()
where product_id = product_to_update;
上述语句(以及您提到的选项)的准确性将高度依赖于您运行该语句的时间,因为数据将被覆盖。
恕我直言,更好的解决方案是创建一个详细的交易表,专门用于存储产品的销售时间,然后您只需计算特定日期的记录数即可。这还将使您能够运行任何一天的统计报告。
关于php - 比较两个 PHP 报告之间的差异,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22661360/