作者:
cutekid (可愛小孩子)
2014-05-23 17:36:30select t1.ID,minKind,min(TYPE) as minType,sumVal
from table as t1
inner join (
select ID,min(KIND) as minKind,sum(VAL) as sumVal
from table
group by ID
) as t2 on t1.ID = t2.ID
where t1.KIND = minKind
group by t1.ID,minKind,sumVal
※ 引述《bulmungtw (Lance)》之銘言:
: 資料庫名稱:MS SQL
: 資料庫版本:9.0.4035
: 內容/問題描述:
: http://i.imgur.com/kR5frSU.png
: 續上回得到高手hhomerun漂亮解後又碰到問題了
: select ID, KIND, TYPE, VAL
: from table
: 出現出來左邊這個結果
: 上次的作法是
: SELECT ID
: ,min(TYPE) AS TYPE
: ,SUM(VAL) AS VAL
: FROM table
: GROUP BY ID
: 所以先改成試試
: SELECT ID
: ,min(KIND) AS KIND
: ,min(TYPE) AS TYPE
: ,SUM(VAL) AS VAL
: FROM table
: GROUP BY ID
: 不過結果會變成
: http://i.imgur.com/NRGsTdB.png
: ORZ...原本還說同ID只會有上次那種狀況,弄好沒過一週又有例外狀況
: 若想要改成第一張圖的樣子怎麼改會比較好呢?
: 謝謝!!