目前,我可以使用值“Waiting”计算表中的所有记录。这可以通过使用:
完成$query = "SELECT COUNT(*) AS SUM FROM jobs WHERE status='Waiting'";
当我想回显行计数时,我只是这样做:
echo $rows['SUM'];
我怎样才能这样做呢?它还会计算值“Ready”的表格中的所有记录?
答案 0 :(得分:3)
此查询将返回所有status
次数除以状态:
SELECT status, COUNT(status) AS tot FROM jobs GROUP BY status
结果集是这样的:
status tot
----------- ------
Waiting 123
Ready 80
... 56
答案 1 :(得分:0)
您想要status='Waiting'
还是status='Ready'
?您可以使用OR
或AND
分隔参数;例如:
$query = "SELECT COUNT(*) AS SUM FROM jobs WHERE status='Waiting' OR status='Ready'";
答案 2 :(得分:0)
在查询中使用IN
运算符。
$query = "SELECT COUNT(*) AS SUM FROM jobs WHERE status IN ('Waiting','Ready')";
使用GROUP BY
运算符
$query = "SELECT COUNT(*) AS SUM FROM jobs GROUP BY status";
打印基于状态的结果。
//Create the `mysqli_connection` and assign to `$conn` variable.
$result = mysqli_query($conn, $query);
if($result->num_rows>0)
{
while($row = mysqli_fetch_assoc($result))
{
echo "<br>status=" . $row['status'];
echo "<br>SUM=" . $row['SUM'];
}
}
答案 3 :(得分:0)
def joinSet(itemSet, length):
"""Join a set with itself and returns the n-element itemsets"""
ret = []
for i in itemSet:
for j in itemSet:
if len(i.union(j)) == length:
ret.append(i.union(j))
return ret
这将计算status = Ready的记录。您使用GROUP BY在状态字段上获取聚合。并且因为您使用了GROUP BY,所以使用HAVING(在GROUP情况下相当于WHERE)来过滤数据。