问题返回数据库搜索的总和或总数

时间:2014-01-23 16:56:21

标签: php mysql sql database

我需要帮助返回所有结果的总和,结果是一个数字。我通过在这里和谷歌搜索尝试了各种各样的查询但到目前为止没有运气。

我的查询是

$totalClientAdmin = $db->get_results(
"SELECT total_cost from acp_proformas 
 where debt_id like '{$debtData->id}' 
 and status like 'transferred_to_invoice' ");

现在在某些情况下,发票超过1个,因此此查询会显示某个debt_id下的所有发票。

我有一个表字段,应该显示总数,这是字段。

<td class=\"left\" width=\"25%\" >".makeCurrency($totalClientAdmin)."</td>

我已经尝试了数组,并且所有种类都可以使这个工作,但我卡住了所以我很感激帮助

4 个答案:

答案 0 :(得分:1)

SELECT SUM(total_cost) from acp_proformas where debt_id like '{$debtData->id}' and status like 'transferred_to_invoice'

该查询应该只返回一个数字,无论数据库中有多少行。

答案 1 :(得分:1)

我认为这可能会有所帮助

    SELECT SUM(total_cost) from acp_proformas 
 where debt_id like '{$debtData->id}' 
 and status like 'transferred_to_invoice' 

答案 2 :(得分:1)

试试这个:

$ totalClientAdmin = $ db-&gt; get_results(来自acp_proformas的“SELECT SUM(total_cost)为total_cost ,其中debt_id喜欢'{$ debtData-&gt; id}',状态如'transferred_to_invoice'” );

假设'LIKE'语句没有'%'是正确的。

答案 3 :(得分:0)

您可以使用聚合函数和:

SELECT sum(total_cost) from acp_proformas
where debt_id like '{$debtData->id}' 
and status like 'transferred_to_invoice'

它会返回所有结果行中字段total_cost的总和。您还可以将此函数与group by一起使用,以获取与某些分组条件匹配的行的总和。 您可以在http://dev.mysql.com/doc/refman/5.0/en/group-by-functions.html#function_sum

中获取更多信息