gpt4 book ai didi

MySQL 分组依据 where day <= x

转载 作者:行者123 更新时间:2023-11-29 14:14:08 24 4
gpt4 key购买 nike

我需要一些帮助来找出正确的 SQL 语句。

如果有一个具有以下结构的表:id、product_id、单位、时间戳

我不需要一个包含每天所有单位的列表。一个产品每天最多有一条记录。所以我的第一次尝试是:

SELECT 
DATE(timestamp) as day, SUM(units) as overall_units
FROM
tbl
GROUP BY
DATE(timestamp);

通常这应该可以做到。但有时有时会出现没有产品记录的情况。尽管如此,这些单位仍然在仓库中,因此它们应该在计算中。

例如:

我们有 3 种产品。汽车、钢笔和轮子。2012年10月20日记录:

汽车 => 5笔 => 20轮子 => 4

2012年10月21日记录汽车 => 5轮子 => 6

我的查询将给出以下结果:

2012-10-20 => 29

2012-10-21 => 11

但我希望,如果当天没有产品记录,则应使用该产品的最近记录。

所以应该是:

2012-10-21 => 31

希望您能理解我的需求。

最佳答案

SELECT 
MAX (DATE(timestamp) ) as day, SUM(units) as overall_units
FROM tbl

更新::

 SELECT max(day),sum(ou) from  
( select DATE(timestamp) as day, SUM(units) as ou
FROM tbl
GROUP BY DATE(timestamp);
)

内部qry将返回

2012-10-20 , 29
2012-10-21 , 11

最终查询将返回

 2012-10-21 , 40

关于MySQL 分组依据 where day <= x,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12971391/

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