簡體   English   中英

Codeigniter使用月份計數嗎?

[英]Codeigniter count using month?

場景是我是管理員,我要進行會話,會話表由session_id,coach_name,date(格式為Ymd)組成。 現在,我想計算每個“ MONTH”教練的總活動量。 所以我的意思是,如何在SQL查詢中獲得這種輸出。

期望的輸出是每個教練每月的活動量。

Name        | No. of session this month
Coach_name1 =   13
Coach_name2 =   5

這是我當前的查詢,為我提供了教練的姓名,但我不知道每個月的獲取方法

public function getAll(){
    $query = $this->db->query('SELECT DISTINCT coach_name FROM sessions);
    return $query->result();
}   

在查詢中使用MySQL的MONTH() 因此,基本上,如果所有數據都在會話表中,請在查詢中嘗試以下操作。

SELECT DISTINCT(`name`),COUNT(`name`) AS `activity` FROM `session` 
WHERE MONTH(`date`)=8 GROUP BY `name`;

SQLFiddle

您必須准備如下查詢:

select 
       coach_name, 
       month(your_date_field), 
       count(1) 
from 
       your_table 
where 
      month(your_date_field) = 8
group by 
       coach_name, month(your_date_field)

它將返回如下記錄,

| coach_name    | month(your_date_field) | count(1)   |
+---------------+------------------------+------------+
| Coach_name1   |                    8   |        x   |
| Coach_name2   |                    8   |        x   |
| Coach_name3   |                    8   |        x   |
+---------------+------------------------+------------+

在代碼點火器中

$this->db->select("coach_name, month(your_date_field) as month_number,count(1) as counts");
$this->db->where('month(your_date_field)',8);
$this->db->group_by('coach_name,MONTH(your_date_field)');
$query = $this->db->get('your_table');

// results
foreach ($query->result_array() as $row)
{
        // do this to see array
        print_r($row);

        // to access individual fields
        echo $row['coach_name']; 
        echo $row['month_number'];
        echo $row['counts'];
}

使用此查詢可獲得結果。 使用mysql MONTH()從日期獲取月份號並按其分組。 您將獲得所有月度數據。

SELECT coach_name,
       Count(*) AS activities
FROM   sessions
WHERE  Month(date) = 8 //for specfic month 
GROUP  BY coach_name, Month(date) // for all months

使用此查詢可根據系統日期動態獲取當前月份

SELECT coach_name,
       Count(*) AS activities
FROM   sessions
WHERE  Month(date) = MONTH(CURRENT_DATE()) //for selecting current month.
GROUP  BY coach_name

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM