PHP计算在一列中包含相同值的MYSQL行

fal*_*con 2 php mysql

我有一个数据库,有一个名为'status'的列.此列可能包含五个可能的值.现在我需要对行数求和,其中status列包含值'cancelled'.我应该使用PHP中的哪些函数来计算它?谢谢你的回复.


编辑:

我认为这是完整的解决方案.如我错了请纠正我.

$canceledsum=mysql_query("SELECT COUNT(*) AS totalcanceled FROM nabidka WHERE status='canceled'");
$d=mysql_fetch_assoc($canceledsum);
echo $d['totalcanceled'];
Run Code Online (Sandbox Code Playgroud)

fth*_*lla 9

你可能正在寻找这个:

SELECT COUNT(*)
FROM yourtable
WHERE status='canceled'
Run Code Online (Sandbox Code Playgroud)

或者此查询将计算所有不同状态值的所有行:

SELECT status, COUNT(*)
FROM yourtable
GROUP BY status
Run Code Online (Sandbox Code Playgroud)

编辑:如果您只想计算当前月份创建的记录:

SELECT status, COUNT(*)
FROM yourtable
WHERE create_date >= DATE_FORMAT(CURDATE(), '%Y-%m-01')
GROUP BY status
Run Code Online (Sandbox Code Playgroud)

这里DATE_FORMAT(CURDATE(), '%Y-%m-01')将返回当月的第一天,如果你将来没有创建记录就可以了.