我正在尝试计算从greeting_msg到ask_alt_number的所有数字列的百分比。当只有一条记录时,我能够获得正确的百分比,但是当我添加更多记录时,我无法获得正确的结果。
代码示例 查询:
$sumGreeting = $dbcon->prepare(`SELECT SUM(greeting_msg + provide_agent_name + clear_and_aud + confirm_caller_name + confirm_caller_tel + ask_alt_number) AS SumGrt FROM table`);
$sumGreeting->execute();
代码:
$initRows = 0;
while ($row = $sumGreeting->fetch(PDO::FETCH_ASSOC))
{
$initRows = $row[`SumGrt`];
$result = ($initRows/12)*100;
echo $result.` %;
}
任何帮助都可以。 预先感谢
答案 0 :(得分:0)
您需要一个group by子句来获取每个coach的计算总和,agent_name ...,现在您正在使用没有sum()
的聚合函数group by
,因此您的整个表都被视为一个表分组和聚合应用于所有记录,您需要通过在select和group by子句中指定分组列来对它们进行分组
SELECT coach, agent_name, reference, campaign_name
SUM(greeting_msg + provide_agent_name + clear_and_aud + confirm_caller_name + confirm_caller_tel + ask_alt_number) AS SumGrt
FROM table
GROUP BY coach, agent_name, reference, campaign_name
还可以将查询放在prepare('query')
中的单引号中,而不放在反引号中