Php 如何查询mysql数据库以显示前几年和本年度每个月的数据?

Php 如何查询mysql数据库以显示前几年和本年度每个月的数据?,php,mysql,Php,Mysql,我正在使用amchats演示中的折线图,我需要从数据库中的一个字段中获取前几年和今年每个月的数据。 我尝试过一些查询,比如通过迭代月份来获取一年中每个月的值 但是,那不是我需要的 for ($i=12; $i > 0 ; $i--) { $query = $conn->prepare("SELECT date_inserted FROM communications WHERE YEAR(date_inserted) = YEAR(CURRENT_DATE - INTERVAL $i

我正在使用amchats演示中的折线图,我需要从数据库中的一个字段中获取前几年和今年每个月的数据。 我尝试过一些查询,比如通过迭代月份来获取一年中每个月的值

但是,那不是我需要的

for ($i=12; $i > 0 ; $i--) {
$query = $conn->prepare("SELECT date_inserted FROM communications WHERE YEAR(date_inserted) = YEAR(CURRENT_DATE - INTERVAL $i MONTH) AND MONTH(date_inserted) = MONTH(CURRENT_DATE - INTERVAL $i MONTH)");
}
顺便说一句,我需要得到如下内容:下表中的值是该月发现的数据总数

2012-01-31, Value: 20
2012-02-28, Value : 53
...
2019-04-16, value : 32

您可以使用此查询

 select date_inserted, count(*) as value from communications GROUP BY YEAR(date_inserted), MONTH(date_inserted);

您准备好了语句,但仍然没有绑定参数…
GROUP BY MONTH()
或使用
PDO::FETCH_GROUP
不确定PHP,但可以在mysql中完成。参考:不建议从DB执行12个查询,最好先获取数据,然后用PHP处理。或者像上面提到的@VijaySaliI那样巧妙地编写您的查询,我很高兴能够愉快地编写代码