[SQL ] 如何暫存查詢結果作為後續的參數使用

看板Database作者 (sasho)時間12年前 (2013/09/15 01:11), 編輯推噓0(007)
留言7則, 2人參與, 最新討論串1/3 (看更多)
假設有以下Table Customer Amount ----------------------- A 10 B 20 C 30 如果我想計算A、B、C三個客戶 分別佔本公司銷售比重的話,必須先計算出總銷售數量 (60) 然後再分別將個別客戶的銷售數量除以總數量 想請教各位前輩,是否有辦法利用SQL語法一次完成呢? 感謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 118.171.210.3

09/15 08:54, , 1F
select sum(amount) as a, avg(amount) as b from table
09/15 08:54, 1F

09/15 09:26, , 2F
這樣求出來的應該是平均值吧! 我想查詢的是各別客戶的
09/15 09:26, 2F

09/15 09:27, , 3F
比重。比方說A客戶比重為:10/60 = 0.167 這樣,謝謝!
09/15 09:27, 3F

09/15 18:33, , 4F
select a.customer, a.amount, a.amount / b.toal_amt
09/15 18:33, 4F

09/15 18:34, , 5F
from table as a,
09/15 18:34, 5F

09/15 18:34, , 6F
(select sum(b.amount) as total_amt
09/15 18:34, 6F

09/15 18:34, , 7F
from table as b) as b
09/15 18:34, 7F
文章代碼(AID): #1ID9Z7pB (Database)
文章代碼(AID): #1ID9Z7pB (Database)