我有一个PHP脚本,它当前从MySQL数据库中提取信息,其中一个列值设置为' on - 即table(product)column' on_amazon' - VALUE =' on'。
Table : Product
Column : on_amazon
Value : 'on'
此报告会显示当前标记为' on'的所有产品。和指定的行。
我需要每天运行此报告,并显示上一个报告与当前报告之间的任何差异。这将反映出是否存在例如今天和前一天之间的数量差异。
我在想我应该创建一个新表,将数据转储到内部,将每个新的一天与上一个表进行比较,用新数据覆盖上一个表。冲洗并重复。
对这种方法有什么更好的建议吗?
谢谢,
答案 0 :(得分:0)
假设您基本上想要查看今天销售的产品数量,我只需在产品表中添加列,一列为“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;
上述语句(以及您提到的选项)的准确性将高度可靠地运行语句,因为数据将被覆盖。
恕我直言,更好的解决方案是创建一个详细的交易表,专门用于存储何时销售的产品,然后您只需计算特定日期的记录数。这也使您能够在任何一天运行统计报告。