[討論] 使用子查詢的時機(已補上實際例子)
從寫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://www.ptt.cc/bbs/Database/M.1402387079.A.E97.html
推
06/10 16:13, , 1F
06/10 16:13, 1F
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
→
06/10 21:30, , 2F
06/10 21:30, 2F
推
06/10 22:07, , 3F
06/10 22:07, 3F
※ 編輯: bohei (1.163.180.47), 06/10/2014 23:31:51
→
06/10 23:37, , 4F
06/10 23:37, 4F
討論串 (同標題文章)
以下文章回應了本文 (最舊先):
完整討論串 (本文為第 1 之 3 篇):