[SQL ] 對應不同條件的SUM(),再除以個別次數

看板Database (資料庫)作者 (Keep The Faith)時間5年前 (2019/01/24 00:50), 5年前編輯推噓1(104)
留言5則, 3人參與, 5年前最新討論串1/1
資料庫名稱:MSSQL Select Field1, SUM(Field2 * val), SUM(Field3) // val 變數 From Table Where Field1 like 'Condition1' or Field1 like 'Condition2' Group by Field1 Field0 Field1 Field2 Field3 val1 val2 ---------- ------- ------- ------- Condition1 a 5 0 10 Condition1 a 5 1 10 Condition1 a 5 2 10 Condition1 b 10 1 10 Condition1 b 10 6 10 Condition2 b 12 1 20 要累計出 a 和 b 的總數, 並且不要因Field3而重複 a = (5 * 10 + 5 * 10 + 5 * 10) / 3 b = (10 * 10 + 10 * 10) / 2 + 12 * 20 Q1. val 是帶入的變數,如果 Condition1 和 Condition2 都帶入相同的數值 上面的寫法可用 Q2. 若 Condition1 和 Condition2 要各自帶入 val1 和 val2 去和 Field2 相乘 要怎麼修改呢? 謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 111.252.118.205 ※ 文章網址: https://www.ptt.cc/bbs/Database/M.1548262232.A.2DD.html ※ 編輯: licheer (111.252.118.205), 01/24/2019 00:50:59

01/24 12:23, 5年前 , 1F
看不懂你要表達的
01/24 12:23, 1F
※ 編輯: licheer (111.252.118.205), 01/24/2019 12:34:32

01/24 12:34, 5年前 , 2F
補充一些資料
01/24 12:34, 2F
※ 編輯: licheer (111.252.118.205), 01/24/2019 12:37:04 ※ 編輯: licheer (111.252.118.205), 01/24/2019 12:38:08 ※ 編輯: licheer (111.252.118.205), 01/24/2019 21:35:08

01/24 21:31, 5年前 , 3F
SUM(Field2 * IF(Field1='Condition1',val1,val2))
01/24 21:31, 3F

01/24 21:34, 5年前 , 4F
忽略我,沒注意到是 MSSQL 0.0
01/24 21:34, 4F
※ 編輯: licheer (111.252.118.205), 01/25/2019 00:58:52

01/27 02:11, 5年前 , 5F
搞定了,非常謝謝
01/27 02:11, 5F
文章代碼(AID): #1SI9jOBT (Database)
文章代碼(AID): #1SI9jOBT (Database)