繁体   English   中英

多维数组中的总和值(选择具有多行的多列)

[英]Sum values in multidimensional array (selecting multiple columns with multiple rows)

假设我有5个不同的列, a, b, c, d, e ,并且我要选择多行:

$result = mysqli_query($conn,"SELECT a,b,c,d,e FROM posts WHERE submitter='$user'");

while ($row = mysqli_fetch_assoc($result)){
  $ratings[] = $row; 
}

例:

该用户有3条帖子,因此它将在查询中选择3行。

我要总结的所有行值的a (当然还有其他)。

例如

row 1 a值= 4

row 2 a值= 10

row 3 a值= 1

所以我需要将所有这些加起来得出15。


我知道要使用array_sum($ratings)来找到数组的总和,但是仅当您选择可以包含多行的一列( a )时,由于选择了多个列值,这是多维的吗?

您可以在查询中使用sum

select sum(a)
     , sum(b)
     , sum(c)
     , sum(d)
     , sum(e)
from posts
where submitter = '$user'

您可以在MySQL中使用count聚合函数和group by

SELECT
  submitter,
  count(a) as rating
FROM posts
WHERE submitter='$user'
GROUP BY submitter

结果,您将得到如下内容:

some submitter, 3
another submitter, 10
one more submitter, 1

这有帮助吗?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM