Php 在mysql中求两列之和

Php 在mysql中求两列之和,php,mysql,Php,Mysql,我想要此表的结果集: ID Number_of_posts Number_of_user 1 100 21 2 23 34 作为 在mysql中,是否可以将两列之和作为另一列/输出 SELECT SUM(Number_of_posts), SUM(Number_of_user) FROM table; (编辑:最初没有注意到这是最后一列中的总数。) (编辑:最初没有注意到它是最后一列中的总计。)要获取交叉表总计(水平和垂

我想要此表的结果集:

ID  Number_of_posts   Number_of_user
1   100               21
2   23                34
作为

在mysql中,是否可以将两列之和作为另一列/输出

SELECT SUM(Number_of_posts), SUM(Number_of_user) FROM table;
(编辑:最初没有注意到这是最后一列中的总数。)

(编辑:最初没有注意到它是最后一列中的总计。)

要获取交叉表总计(水平和垂直):

这将为您提供:

   id     p     u   p_and_u
-----   ---   ---   -------
    1   100    21       121
    2    23    34        57
99999   123    55       178
要获取交叉表总计(水平和垂直),请执行以下操作:

这将为您提供:

   id     p     u   p_and_u
-----   ---   ---   -------
    1   100    21       121
    2    23    34        57
99999   123    55       178

MySQL支持汇总吗

SELECT id,
       SUM(Number_of_posts) Number_of_posts,
       SUM(Number_of_user) Number_of_user,
       SUM(Number_of_posts) + SUM(Number_of_user) Number_of_posts_AND_Number_of_user
  FROM table
  GROUP BY ROLLUP(id)

编辑:基于快速搜索,在MySQL中,最后一行可能是带有ROLLUP的
分组id

MySQL支持ROLLUP吗

SELECT id,
       SUM(Number_of_posts) Number_of_posts,
       SUM(Number_of_user) Number_of_user,
       SUM(Number_of_posts) + SUM(Number_of_user) Number_of_posts_AND_Number_of_user
  FROM table
  GROUP BY ROLLUP(id)

编辑:基于快速搜索,在MySQL中,最后一行可能是带有汇总的
按id分组

您不必要地使查询复杂化,并且需要使用更多内存。在一个查询中提取记录,然后进行另一个查询以获取聚合


我知道这不能回答你的问题,但这是你应该做的

您不必要地使查询复杂化,并使用了您必须使用的更多内存。在一个查询中提取记录,然后进行另一个查询以获取聚合



我知道这不能回答你的问题,但这是你应该做的

这就是每一行整张桌子的总数,我认为这不是他们想要的。@Dave:事实上,我认为这是OP的要求wants@Dave:您能看下表决前提供的@op样本记录集吗?它给出了每行整张表的总数,我不认为这是他们想要的。@Dave:事实上,我认为这就是OPwants@Dave:你能看下表决前@op提供的示例记录集吗?这将返回第三个sum记录,而不是表。这将返回第三个sum记录,而不是表。这是一个非常有趣的查询,但我觉得这不是OP想要的。这就是为什么我在问题评论中要求澄清。在每一行上都有完整的总数是没有意义的,因为它不是键(ID)的属性。非常感谢,我没有预料到这个结果,但这可能是我想要的。这是一个非常有趣的查询,但我感觉这不是OP想要的。这就是为什么我在问题评论中要求澄清。在每一行上都有完整的总数是没有意义的,因为它不是键(ID)的属性。非常感谢,我没有预料到这个结果,但这可能是我想要的。你能验证你想要每一行上的完整总数(178178)或每一行上的每个ID(121,57)吗?前者似乎是错的,因为它与身份证没有任何关系。是的,我知道了。我要说的是,178数字不是ID的属性。将其放在底部的to totals行中,并基于每一行的总计,这将更有意义。我在回答我认为OP想问的问题。如果结果证明我错了,那么c'est la vie:-)你能验证你想要每行的全部总数(178178)或每行的每个ID(121,57)吗?前者似乎是错的,因为它与身份证没有任何关系。是的,我知道了。我要说的是,178数字不是ID的属性。将其放在底部的to totals行中,并基于每一行的总计,这将更有意义。我在回答我认为OP想问的问题。如果结果证明我错了,那就是生活:-)
SELECT  id, number_of_posts, number_of_user,
        (
        SELECT  SUM(number_of_posts + number_of_user)
        FROM    mytable
        )
FROM    mytable
SELECT id,
       SUM(Number_of_posts) Number_of_posts,
       SUM(Number_of_user) Number_of_user,
       SUM(Number_of_posts) + SUM(Number_of_user) Number_of_posts_AND_Number_of_user
  FROM table
  GROUP BY ROLLUP(id)