gpt4 book ai didi

mysql - 使用 Group By 从一个表中选择新日期到另一个表中

转载 作者:行者123 更新时间:2023-11-30 22:08:41 25 4
gpt4 key购买 nike

我有 2 个表:

订单

  • 购买日期(这是“日期时间”类型)
  • 商品价格
  • 杂项其他数据

total_sales_by_date

  • 日期
  • 总销售额

订单表每天通过 API 进行更新。 total_sales_by_date 表仅将每个 sku 的所有销售额相加,并按日期对所有 skus/销售额的总和进行分组。我正在使用这个查询:

INSERT INTO total_sales_by_date SELECT DATE(purchase_date) AS date, SUM(item_price) AS total_sales FROM orders GROUP BY date

为了提高数据库效率,我想每天更新第二张表,只使用通过 API 进入第一张表的新销售数据。即-我不想重新插入第二张表中已有的旧数据。

此外,我想创建一个每天凌晨 4 点(或其他时间)运行的程序。

最佳答案

您可以使用这样的查询。你可以运行你想要的频率。它只插入昨天的订单,并检查 total_sales_by_date 的最大日期

INSERT INTO total_sales_by_date (date,total_sales)
SELECT
DATE(purchase_date) AS date,
SUM(item_price) AS total_sales
FROM orders
where (
SELECT IF( max(date) is null,'1900-01-01',max(date) + interval 1 day)
FROM total_sales_by_date
) < purchase_date
AND purchase_date < date(now() - interval 1 day)
GROUP BY date;

关于mysql - 使用 Group By 从一个表中选择新日期到另一个表中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40833952/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com