Php 使用count()输出每月以及每月的总条目数

Php 使用count()输出每月以及每月的总条目数,php,mysql,count,Php,Mysql,Count,我尝试了一些搜索,结果找到了count()函数,使我更接近我的目标,但停止了一些。下面是我的代码现在的样子: $sql = "SELECT COUNT( * ) as Count FROM AttendanceDB WHERE YEAR( class_time ) = '2015' AND studentid = '$studentid' AND furikae = 0 GROUP BY MONTH( class_time )"; 然后我使用echo$row['Count']以输出数据 这使

我尝试了一些搜索,结果找到了count()函数,使我更接近我的目标,但停止了一些。下面是我的代码现在的样子:

$sql = "SELECT COUNT( * ) as Count
FROM AttendanceDB
WHERE YEAR( class_time ) =  '2015'
AND studentid = '$studentid'
AND furikae = 0
GROUP BY MONTH( class_time )";
然后我使用
echo$row['Count']
以输出数据

这使我能够合计2015年每月的行数,然后输出答案。现在我要做的是输出每行中的月份以及总数。我可以做任何事情,但有些学生在一年中的中途就开始报名了,这意味着头几个月没有任何结果


如何从数据库中同时选择月份和使用计数功能?谢谢

您可以使用agregator函数

$sql=“选择COUNT(*),max(您的月份列)作为月份作为计数
来自出席者
其中年份(上课时间)=“2015”
而studentid=“$studentid”
而furikae=0

按月分组(上课时间)以下是我认为对您有帮助的内容:

$sql = "SELECT MONTH( class_time ) AS month, COUNT( * ) as Count
FROM AttendanceDB
WHERE YEAR( class_time ) =  '2015'
AND studentid = '$studentid'
AND furikae = 0
GROUP BY MONTH( class_time )";
那么:

$sql = "SELECT MONTH(class_time) AS m, COUNT(*) AS c
    FROM AttendanceDB WHERE YEAR(class_time) = '2015'
    AND studentid = '$studentid'
    AND furikae = 0
    GROUP BY m";

这样,您就可以将月份作为一个单独的列,它也将在结果中显示为
$row['m']
,每月的计数显示为
$row['c']
。(我避免使用与MySQL函数名相同的名称,因此使用了
m
c

表ddl、示例输入和所需输出。这非常有效。现在看起来很简单,因为它正盯着我的脸。使用日历名称而不是数字输出月份是一种简单的方法吗?也许使用日期函数?我很高兴这个答案对您有所帮助,所以您可以检查它是否正确。谢谢