多维数组中的求和值(选择多行的多个列)

时间:2015-06-14 06:43:48

标签: php mysql sql arrays

假设我有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的所有行的值(当然还有其余的)。

e.g。

row 1 a value = 4

row 2 a值= 10

row 3 a value = 1

所以我需要总结所有这些才能得到15。

我知道使用array_sum($ratings)来查找数组的总和,但前提是你选择了一列(a)可能有多行,但由于多列,这是多维的值被选中?

2 个答案:

答案 0 :(得分:0)

您可以在查询中使用sum

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

答案 1 :(得分:0)

您可以在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

这有用吗?