php 和 mysql 查询以获取最近 12 个月的日期

标签 php mysql

我有一个 php 函数来获取莫里斯饼图的日期,它工作正常。

但现在我有更多数据(去年和今年前 3 个月的日期)。它现在显示重复的月份。在这种情况下,去年 2 月和今年的数据现在显示在同一个饼图上。

我想用 php 编写一些 mysql 代码,只显示最近 12 个月的数据。我有以下代码:

function writesql($rec) {
$year = date('Y') -1;
$month = date('m');
$lastyear = $year - $month; // I know this is a problem.It's subtracting the two variables

$sql = "";
$sql = $sql . " SELECT";
$sql = $sql . " YEAR(`value`)as 'Year',";
$sql = $sql . " MONTH(`value`)as 'Month',";
$sql = $sql . " `value` , ";
$sql = $sql . " COUNT(`value`) as 'Calls' ,";
$sql = $sql . " ROUND(SUM( `value` ),2) as 'Value'";
$sql = $sql . " FROM `table`";
$sql = $sql . " GROUP BY";
$sql = $sql . " YEAR(`value`),";
$sql = $sql . " MONTH(`value`)" ;
$sql = $sql . " ORDER BY";
$sql = $sql . " YEAR(`value`),";
$sql = $sql . " MONTH(`value`)";
$sql = $sql." WHERE (`value`)='".$lastyear."'";// I also know this is wrong too but im lost as to how to fix it.

return $sql;
}

然后剩下的就是,我只想获取最近 12 个月的数据,我应该如何执行。

最佳答案

你可以WHERE value >= DATE_SUB(CURDATE(),INTERVAL 1 YEAR);

这将显示截至当前日期的 12 个月。

关于php 和 mysql 查询以获取最近 12 个月的日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49318149/

相关文章:

php - 将mysql查询数据显示为数组

php - 授权的GAE应用程序必须与数据库实例在同一区域 |谷歌应用引擎

mysql - SQL:在列是数组的查询中获取最大值

java - 如何使用数据库导航器插件 intelliJ 连接到 mysql 服务器

mysql - SQL Order By 通过连接表

nginx - 无法在nginx+php-fpm上运行.html文件

php - 或者 INNER JOIN 中的条件

javascript - 使用 CryptoJS 在 JavaScript 中进行 AES 加密/解密

php - 基于 ID 的循环/圆形循环(从特定 ID 开始添加 ID 的其余部分,当达到特定 ID 时中断)

c# - PDO 连接字符串主机