作者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://www.ptt.cc/bbs/Database/M.1402387079.A.E97.html
推 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
→ konkonchou:left join (Select ... group by) 06/10 21:30
推 scpisces:何不提供例子 06/10 22:07
※ 編輯: bohei (1.163.180.47), 06/10/2014 23:31:51
→ bohei:補上例子了!謝謝!! 06/10 23:37