Re: [SQL ] 多重條件計算筆數

作者: cutekid (可愛小孩子)   2016-08-30 15:24:56
select StoreID,RefID,
case when max(case when ResponseID = 'A' then 1 else 0 end) = 1 then 1
else count(*)
end
from table
group by StoreID,RefID
※ 引述《seabok (思念,留在1999)》之銘言:
: 資料庫名稱:MSSQL
: 資料庫版本:2008
: 內容/問題描述:
: 請教各位先進:
: 目前有一客服Table如下
: StoreID RefID ResponseID
: 001 2 A
: 002 3 A
: 002 3 B
: 002 4 E
: 003 1 C
: 004 6 D
: 005
: 006
: StoreID:分店代碼
: RefID:客訴件ID,每間分店的RefID獨立滾號,相同RefID則代表為同一筆客訴件
: ResponseID:客訴分類代碼
: 現在想統計每間分店客訴原因的筆數,欄位為:
: 分店ID
: 客訴原因只有A (如上表的001,記數為1)
: 客訴原因有A+其他 (如上表的StoreID=002,RefID=3,計數為1)
: 客訴原因沒有A (如上表的StoreID=002+RefID=4、StoreID=003、StoreID=004,記數為3)
: 請教各位高手SQL該如何寫才能統計出我所要的結果?
: 有試過Sum(Case when ResponseID = 'A' then 1 else 0 end)這方法,但發現計數出來
: 的結果會包含「A+其他」的筆數

Links booklink

Contact Us: admin [ a t ] ucptt.com