gpt4 book ai didi

mysql - 当范围 > 30 天时,MYSQL 会过滤结果

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

如果我在 6 月 1 日到 6 月 30 日之间运行查询,我将得到 23 个结果。如果我在 7 月 1 日到 7 月 31 日之间运行查询,我将得到 28 个结果。如果我从 6 月 1 日到 7 月 31 日运行查询,我只会得到 30 个结果。这是为什么?

这是我的查询:

SELECT
table1.user_id,
DATE_FORMAT(table1.timestamp, '%Y-%m-%d') AS formatted_timestamp,
COUNT(DISTINCT table1.call_id) as calls,
SUM(table2.recording_file_duration) / 60 as minutes,
hours.hours
FROM
table1
LEFT JOIN table2 ON
table1.call_id = table2.id
LEFT JOIN table3 ON
table1.user_id = table3.accountID
AND
DATE_FORMAT(table1.timestamp, '%Y-%m-%d') = table3.date
WHERE
table1.user_id = '244'
AND
table1.timestamp >= '$dateStart' and table1.timestamp < '$dateEnd'
GROUP BY
DAY(table1.timestamp)
ORDER BY
table1.timestamp DESC

最佳答案

这是您的分组依据条件:

GROUP BY DAY(table1.timestamp)

它按月中的日期进行聚合,因此 6 月 10 日和 7 月 10 日将合并。

试试这个:

GROUP BY MONTH(table1.timestamp), DAY(table1.timestamp)

GROUP BY DATE(table1.timestamp)

我认为后者是最好的解决方案。这会将字段转换为日期(没有时间部分)。

关于mysql - 当范围 > 30 天时,MYSQL 会过滤结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21713672/

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