首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >结果列之和的Reduce SQL语句

结果列之和的Reduce SQL语句
EN

Stack Overflow用户
提问于 2013-07-31 22:06:54
回答 1查看 136关注 0票数 0
代码语言:javascript
复制
select *, 
  (a / 100) as a_calc, 
  (select sum(a_calc) from foo where c = ? and d = ?) as a_calc_sum 
from foo 
where c = ? and d = ? 
order by a;

这里的目的是返回与原始查询匹配的所有行(不包括总和),并让mysql为我计算a_calc的总和,而不是发出单独的查询。如果没有subselect,我似乎只得到了查询中的第一行附加了正确的总和。

有什么想法可以减少上面的查询吗?

EN

回答 1

Stack Overflow用户

发布于 2013-07-31 22:13:58

我认为您希望避免为每一行运行子查询--方法如下:

代码语言:javascript
复制
select *, 
  a / 100 as a_calc,
  a_calc_sum
from foo 
join (select sum(a / 100) a_calc_sum from foo where c = ? and d = ?) x
where c = ? and d = ? 
order by a;
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17972686

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档