如何在MYSQL中查询每年的每个月?

时间:2012-05-23 21:18:28

标签: php mysql

我需要创建一个查询,以获取每年每个月对应该月份的字段

类似的东西:

                      field 1                                field 2 

       count_of_fields_that_corresponds_this_month, same_fields_but_with_value_true
       --------------------------------------------|--------------------------------
january                                            |
       --------------------------------------------|-------------------------------
february                                           |
       --------------------------------------------|--------------------------------
march                                              |
       --------------------------------------------|--------------------------------
april                                              |
       --------------------------------------------|--------------------------------
etc...                                             |

在这个例子中我有2个字段需要填写表格,但实际上我还有更多,但我不知道如何在一个查询中获取每个月的字段,我试图制作同样的事情,但有很多疑问,我认为这是一个不好的做法,所以你能告诉我如何做到这一点?或者我需要在mysql中使用哪些函数?

我想每个月使用field1,field2,field3等....如果每年也可以,非常感谢。

$this->db->query("SELECT count(*) AS count FROM `simple` WHERE `ochistka` = 'somevalue' AND MONTH(`date`) = 01");
$this->db->query("SELECT count(*) AS count FROM `simple` WHERE `ochistka` = 'somevalue' AND MONTH(`date`) = 01 AND `prime4anie` = 'somevalue'");

所以在这个查询中我得到了那些字段,但只有一个月,我怎样才能改进它并让它们一次性查询每个月(查询)?

2 个答案:

答案 0 :(得分:3)

SELECT YEAR(datefield), MONTH(datefield), COUNT(field1), COUNT(field2)
FROM table
GROUP BY YEAR(datefield), MONTH(datefield)

添加您自己的字段和表名

答案 1 :(得分:0)

删除查询的月份部分,您将获得一系列结果。然后,您可以逐个添加一组进行排序。

SELECT count(*) AS count FROM `simple` WHERE `ochistka` = 'somevalue' GROUP BY MONTH