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

时间:2014-08-02 17:33:47

标签: php mysql

如何查询并返回所有行,但我的查询中添加了“SUM”?

以下是我的示例查询:

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

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

任何想法如何做到这一点?

1 个答案:

答案 0 :(得分:0)

您已经注意到以您尝试的方式进行查询是不可能的,因为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'; 

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