分别在前25个月的每一个中计算(*)

时间:2017-09-27 09:40:59

标签: php mysql

我有一个数据库名称" d"并且有表名" t" ... t有两列id和month ......

我必须每个月计算一次ID。

实际上,我在$ monthyear中输入了一个输入,现在我想在$ row中存储前25个月的计数(id)

我使用这种命令

    $search = "SELECT * FROM `d`.`t` where id>2";
    $result = mysqli_query($con, $search);
    $row = mysqli_fetch_array($result);

请告诉我一个可以执行此操作的查询,并且可以将其存储为

$row[0]="no of ids in the inputed month"
$row[1]="no of ids in the [inputed month - 1 month]"
$row[2]="no of ids in the [inputed month - 2 month]"

依旧......

注意:月份和"年份"很重要。

1 个答案:

答案 0 :(得分:1)

如果不是所有月份都有ID,那么您需要使用派生表。像这样:

SELECT t.monthyear, COALESCE(COUNT(s.monthyear),0) as numOfID
FROM(SELECT '012016' as monthyear
     UNION ALL
     SELECT '022016' 
     ....) t
LEFT JOIN YourTable s
 ON(t.monthyear = s.monthyear)
GROUP BY t.monthyear