Php Mysql的总和与选择所有的行返回


Php Mysql sum total with select all rows returned

我如何查询和返回所有的行,但与"SUM"添加到我的查询?

下面是我的示例查询:

select SUM(amount) as total, user_id, username, from table where user_cat = '1'; 

如果我删除SUM,我得到正确的行数返回,但当我添加SUM,行结果减少。

你知道怎么做吗?

您已经注意到,不可能以您尝试的方式进行查询,因为SUM()聚合其他行并且只显示一行。解决这个问题的一种方法是在子查询中分隔SUM(),如下所述:

select n.total, 
  user_id, 
  username  
  from table, 
  (select SUM(amount) as total 
    from table 
    where user_cat = '1') n 
  where user_cat = '1'; 

我更喜欢在两个单独的查询中进行此操作。现在需要处理第一列,使其不可见。如果使用两个查询,则必须处理第二个查询。