如何查询并返回所有行,但我的查询中添加了“SUM”?
以下是我的示例查询:
select SUM(amount) as total, user_id, username, from table where user_cat = '1';
如果删除SUM
,我会返回正确的行数,但是当我添加SUM
时,行结果会减少。
任何想法如何做到这一点?
答案 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';
我更喜欢在两个单独的查询中进行此操作。现在,您必须处理第一列并使其不可见。如果您使用两个查询,则必须处理第二个查询。选择是你的。