首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在1个查询中求和列或使用PHP?

问在1个查询中求和列或使用PHP?
EN

Stack Overflow用户
提问于 2012-06-29 20:44:23
回答 3查看 261关注 0票数 0

我想我的问题是我试图在同一查询中求和计数,这可以在php中实现以避免这种情况吗?Records列显示记录的计数,而成本和成本合计,这很有效,但我想将这两列的总和显示出来,以显示总计?

代码语言:javascript
复制
Select
  tblcontacts.ContactFullName As Name,
  Count(tblcases.CaseID)As Records,
  Sum(tblcases.CaseCommission) As Costs
From
  tblcontacts Inner Join
  tblcases On tblcontacts.ContactID =
    tblcases.ContactAssignedTo
Group By
  tblcontacts.ContactFullName
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-06-29 21:20:14

最后使用With RollUp。表的单次扫描,所以它是面向性能的。

代码语言:javascript
复制
Select
  tblcontacts.ContactFullName As Name,
  Count(tblcases.CaseID)As Records,
  Sum(tblcases.CaseCommission) As Costs
From
  tblcontacts Inner Join
  tblcases On tblcontacts.ContactID =
    tblcases.ContactAssignedTo
Group By
  tblcontacts.ContactFullName
WITH RollUP

Refer here for more details

票数 3
EN

Stack Overflow用户

发布于 2012-06-29 20:50:42

在MySQL中,如果不添加另一个查询并对它们执行UNION,就无法做到这一点,例如:

代码语言:javascript
复制
Select
  tblcontacts.ContactFullName As Name,
  Count(tblcases.CaseID)As Records,
  Sum(tblcases.CaseCommission) As Costs
From
  tblcontacts Inner Join
  tblcases On tblcontacts.ContactID =
    tblcases.ContactAssignedTo
Group By
  tblcontacts.ContactFullName

UNION ALL

Select
  '--GRAND-TOTAL--',
  Count(tblcases.CaseID),
  Sum(tblcases.CaseCommission)
From
  tblcontacts Inner Join
  tblcases On tblcontacts.ContactID =
    tblcases.ContactAssignedTo

然而,在这种情况下,在PHP中计算总计可能会有更好的性能,可能是在迭代行以构建表的时候。

票数 4
EN

Stack Overflow用户

发布于 2012-06-29 21:09:05

如果要在PHP中循环结果集以进行显示,则可以在循环中对列求和。

例如

代码语言:javascript
复制
$sql = "your SQL here";

$query = mysql_query($sql);

$sum_records = $sum_costs = 0;

while ($r = mysql_fetch_object($query))
{
    // your other code here for whatever you're doing with the results
    $sum_records += $r->Records;
    $sum_costs += $r->Costs; 
}

// Now you have the two totals in $sum_records and $sum_costs.
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11262014

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档