当前位置: 首页 > 知识库问答 >
问题:

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

莫典
2023-03-14

假设我有5个不同的列,< code>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 行。

我想对< code>a的所有行的值求和(当然还有其余的)。

例如

第 1 行 a 值 = 4

第2行a值=10

< code >第3行 a值= 1

所以我需要把所有这些加起来得到15。

我知道使用< code>array_sum($ratings)来查找数组的总和,但前提是您选择了一个可以有多行的列(< code>a),但这是多维的,因为选择了多个列值?

共有2个答案

龙博
2023-03-14

在MySQL中,您可以使用count聚合函数和分组。

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

你会得到这样的结果:

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

这有帮助吗?

端木令雪
2023-03-14

您可以在查询中使用< code>sum:

select sum(a)
     , sum(b)
     , sum(c)
     , sum(d)
     , sum(e)
from posts
where submitter = '$user'
 类似资料:
  • 问题内容: 我有一张桌子,像这样: 我想选择具有相同基因座和染色体的所有行。例如,第3行和第4行。一次可能有2个以上,并且它们可能不是按顺序排列的。 我尝试了这个: 但是,即使重复,它总是返回第3行,从不返回第4行。我想我缺少明显而简单的东西,但我茫然。 有人可以帮忙吗? 问题答案: 您需要了解,当您在查询中包含内容时,您是在告诉SQL合并行。您将为每个唯一值获得一行。在随后过滤这些组。通常,您可

  • 问题内容: 使用,我可以比较和删除相似的项目,但是如果我有以下数组怎么办? 阵列1 数组2 我想过滤掉类似的物品;结果应该返回4.如何重新排列数组以便可以使用? 问题答案: 我可能会遍历原始数组并使它们成为一维的…类似

  • 问题内容: 如何通过关联键添加所有列值?请注意,键集是动态的。 输入数组: 所需结果: 问题答案:

  • 问题内容: 我有一张交易数据表,这些数据是对未来的预测。因此,随着时间的流逝和重新发送的预测变得更加准确,可以多次读取由相同日期,类型,位置和产品标识的相同预测。 我想创建一个查询,将相同类型,相同位置,产品和日期的交易分组,然后从这些分组中仅选择具有最新时间戳的交易。 该表现在有成千上万的行,随着时间的流逝,数百万行,因此,一个合理有效的解决方案将不胜感激:) 表格示例: 理想的结果: 我尝试例

  • 我的数据框就像这个 由reprex包(v2.0.1)于2022-02-17创建 我想在grouping_bycol1之后根据count_col1和count_col2选择具有最大值的行。 我希望我的数据看起来像这样 你可以写一篇专栏文章 但不是两个人