看板 Database 關於我們 聯絡資訊
從寫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