根据条件计算一个月内的数据量

时间:2017-10-31 04:39:10

标签: php mysql codeigniter

我有2个表,master_kategori_project包含项目类别,project包含特定年份特定月份中的项目数。下面是我的master_kategori_project表。

id| category_project | description |
1 | Category 1       | descrip 1   |
2 | Category 2       | descrip 2   |
3 | Category 3       | descrip 3   |

和我的project表看起来像这样

id| id_category_project | name_project | start_date |
1 | 1                   | Project 1    | 27-01-2017 |
2 | 2                   | Project 2    | 29-02-2017 |

我想制作一张包含这样的图表的表格,你可以从 1月的表格中看到我有3个项目的kategori 1,5个项目的kategori 2个,7个项目的kategori 3和等等

如何编写具有类似内容的查询?图表由表格自动构建。

enter image description here

这是我的模型,我相信我做错了,因为我无法将数据输入正确的月份

public function get_kategori_totals($mnth, $year=null)
{   
    $yr=date('Y');
    $select = "
        SELECT COUNT(category_project),start_date,category_project
        FROM
            project
        LEFT JOIN
            master_kategori_project
        ON
            project.id_category_project=master_kategori_project.id
        WHERE 
            MONTH(start_date)='$mnth'".
            (($year == null)?" AND YEAR(start_date)='$yr' GROUP BY category_project":"AND YEAR(stat_date)='$year' GROUP BY category_project");
    return $this->db->query($select);
}

1 个答案:

答案 0 :(得分:1)

使用以下查询。

  SELECT id_category_project, month(start_date), count(distinct name_project) as project_count
  FROM project
  WHERE start_date IS NOT NULL AND start_date <> '0000-00-00'
  GROUP BY 1,2
  ORDER BY 2,1