gpt4 book ai didi

mysql - 选择上年12月到当年11月的数据,MySQL

转载 作者:行者123 更新时间:2023-11-29 06:55:00 26 4
gpt4 key购买 nike

我正在尝试检索上一年 12 月到当年 11 月之间的统计数据。我表的 date 列的数据类型为 date

以下 SQL 可以很好地解决一个明显的问题,即它仅在手动更改年份时才有效。对于这个时间段动态变化的年份,人们将如何完成同样的事情?

SELECT date, SUM(numCalls) AS callTotal FROM callstats_callData
WHERE date BETWEEN '2011-12-01' AND '2012-11-01'
GROUP BY date ORDER BY date

PHP 正在从 MySQL 表中检索数据。

更新

下面的代码有效,但我希望有一个基于 SQL 的解决方案。

$date1 = (date("Y") - 1) . '12-01';
$date2 = date("Y") . '-11-01';
$fetchTotals = $this->contentDB->prepare("SELECT date, SUM(numCalls) AS callTotal FROM callstats_callData
WHERE date BETWEEN ? AND ?
GROUP BY date ORDER BY date");
$fetchTotals->execute(array($date1, $date2));
$totals = $fetchTotals->fetchAll();

工作示例

这是为了检索总调用图表 here 的调用数据.需要在循环中检索结果,以便显示该时间段内每个月的总数。此页面目前使用上面的 PHP 和 MySQL 代码可以正常工作,只是希望有一个基于 SQL 的解决方案。

最佳答案

这使您可以灵活地为更新的查询选择任意月份和日期值 - 正如您在发布的 PHP 代码中设置的那样:

SELECT date, SUM(numCalls) AS callTotal 
FROM callstats_callData
WHERE DATE(date)
BETWEEN CONCAT(YEAR(CURDATE())-1,'-12-01') AND CONCAT(YEAR(CURDATE()),'-11-01')
GROUP BY date ORDER BY date;

关于mysql - 选择上年12月到当年11月的数据,MySQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13293497/

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