作者bohei (run and fall)
看板Database
标题[讨论] 使用子查询的时机
时间Tue Jun 10 15:57:56 2014
从写SQL以来,常遇到某些状况需要使用到子查询
但在用子查询时又很怕拖累效能
常常在想有没有其他的解法
我想请问大家的是
在某些情况下是不是一定只有子查询的解法
不需再考虑其他写法了?
ex:最近的例子,需先GROUP BY後比较某栏位的和,符合的才捞出,
但最後要的结果是这些符合的和的总和,
在想法上需要用两个SELECT去达成(第一个先GROUP BY比较,第二个去捞全部的总和)
这种例子是不是只能使用子查询了?
先谢谢大家的解答!
补上简化後的例子:
项次 数量
1 10
1 20
2 40
3 30
3 30
要找出各项次"数量和" <50 的 "所有数量"
第一步先以项次分群,分别是
项次 数量
1 30
2 40
3 60
应捞出项次1、2
故得出总和为30+40=70
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 203.65.163.29
※ 文章网址: http://webptt.com/cn.aspx?n=bbs/Database/M.1402387079.A.E97.html
1F:推 LaPass:having 06/10 16:13
having需搭配group吧? 这样出来的资料会是多笔,不会是符合的资料全部的总和
※ 编辑: bohei (203.65.163.29), 06/10/2014 16:48:39
子查询内是需要having没错..但最後的结果需要全部的和,而不是各group的和
※ 编辑: bohei (203.65.163.29), 06/10/2014 16:52:12
2F:→ konkonchou:left join (Select ... group by) 06/10 21:30
3F:推 scpisces:何不提供例子 06/10 22:07
※ 编辑: bohei (1.163.180.47), 06/10/2014 23:31:51
4F:→ bohei:补上例子了!谢谢!! 06/10 23:37