gpt4 book ai didi

php - 一列仅显示一个字段,其余从所有适用记录计算

转载 作者:行者123 更新时间:2023-11-29 00:42:05 25 4
gpt4 key购买 nike

我怕又回来了!

我有这个 SQL 查询 - 填充一个表。

echo SQLResultTable("SELECT SalesExec, COUNT(SalesExec)AS 'Total<br/> Checks', $AverageScore, `SUM(Autofails) AS 'Total <br/>AutoFails', $AverageAutofails FROM Data_Table WHERE BranchManager = '$BM'");`

在数据库中,我目前有 3 条记录。 2 个用于销售主管 A,1 个用于销售主管 2。

上面的输出形式在表格中生成一行。只有 Sales Exec1 的名字。然而,所有其他字段都在累加/平均等,所有 3 个记录值。

如何让表格生成我需要的适当的 2 行,并将平均值/计数/总和等应用于与该销售主管相关的记录?

为了让表格正常工作,我从另一个站点获取了这个功能,除了这个问题之外它似乎工作得很好。

function SQLResultTable($Query)
{
$host = "localhost";
$user = "root";
$pass = "";
$db = "Quality_Monitoring";
$link = mysql_connect($host, $user, $pass) or die('Could not connect: ' . mysql_error()); //build MySQL Link
mysql_select_db($db) or die('Could not select database'); //select database
$Table = ""; //initialize table variable

$Table.= "<table border='1' style=\"border-collapse: collapse; text-align: center; font-size: small; cellspacing: 5px; \">"; //Open HTML Table

$Result = mysql_query($Query); //Execute the query
if(mysql_error())
{
$Table.= "<tr><td>MySQL ERROR: " . mysql_error() . "</td></tr>";
}
else
{
//Header Row with Field Names
$NumFields = mysql_num_fields($Result);
$Table.= "<tr style=\"background-color: #000066; text-align: center; color: #FFFFFF;\">";
for ($i=0; $i < $NumFields; $i++)
{
$Table.= "<th>" . mysql_field_name($Result, $i) . "</th>";
}
$Table.= "</tr>";

//Loop thru results
$RowCt = 0; //Row Counter
while($Row = mysql_fetch_assoc($Result))
{
//Alternate colors for rows
if($RowCt++ % 2 == 0) $Style = "background-color: #00CCCC;";
else $Style = "background-color: #CCCCCC;";

$Table.= "<tr style=\"$Style\">";
//Loop thru each field
foreach($Row as $field => $value)
{
$Table.= "<td>$value</td>";
}
$Table.= "</tr>";
}
// $Table.= "<tr style=\"background-color: #000066; color: #FFFFFF;\"><td colspan='$NumFields'>Query Returned " . mysql_num_rows($Result) . " records</td></tr>";
}
$Table.= "</table>";

return $Table;

}

?>

感谢任何帮助,干杯!

最佳答案

SQL 语句使用聚合函数 COUNT()、SUM() 但没有 GROUP BYGROUP BY SalesExec。因为 MySQL 对 GROUP BY 子句的存在和内容很宽容,它会返回一行,可能是第一个 SalesExec,但包含对 所有计算的聚合 SalesExec,这不是一个有意义的结果。

echo SQLResultTable("
SELECT SalesExec, COUNT(SalesExec)AS 'Total<br/> Checks', $AverageScore, `SUM(Autofails) AS 'Total <br/>AutoFails', $AverageAutofails
FROM Data_Table
WHERE BranchManager = '$BM'
GROUP BY SalesExec
");`

关于php - 一列仅显示一个字段,其余从所有适用记录计算,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11846574/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com