gpt4 book ai didi

mysql - 查询最近 30 天但保留没有结果/值的日子

转载 作者:行者123 更新时间:2023-11-29 01:04:27 26 4
gpt4 key购买 nike

我有以下函数来获取过去 30 天中每一天的点数。此查询仅获取有可用值的日期,如果当天没有获得积分,则不会获取任何内容。无论当天是否获得任何积分,我如何让它显示所有天数?

例如:

5 月 31 日 - 30 点。
5 月 30 日 - 0 分。
5 月 29 日 - 5 分。
5 月 28 日 - 10 分。
5 月 27 日 - 0 分。
...

代替:

5 月 31 日 - 30 点。
5 月 29 日 - 5 分。
5 月 28 日 - 10 分。
...

SELECT date_added, SUM(points) 
FROM points_table pt, userCake_Users u
WHERE pa.date_added >= (CURDATE() - INTERVAL 30 DAY )
AND u.user_id = '" . $user_id . "'
AND u.user_id = pt.user_id
GROUP BY date(pt.date_added)");

最佳答案

MySQL 无法凭空生成丢失的日期。因此,我的建议是创建一个单独的表(可能是引擎内存)并将查询日期插入其中。然后你可以像上面那样加入你的基表:

select date_added,
(select sum(points_table.points) from points_table where points_table.date_added = inmemorytable.date_added) as "Points"
from inmemorytable
inner join userCake_Users u on u.u.user_id = '" . $user_id . "' AND u.user_id = pt.user_id

未测试,因为我手边没有这些结构。内部连接和子查询可能会带来麻烦,您可能需要切换它们。

关于mysql - 查询最近 30 天但保留没有结果/值的日子,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10830817/

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