计算MySQL数据库中特定列的百分比

时间:2018-06-21 19:31:23

标签: php mysql

Example of database

我正在尝试计算从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.` %; 
}

任何帮助都可以。 预先感谢

1 个答案:

答案 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')中的单引号中,而不放在反引号中