看板 Database 關於我們 聯絡資訊
※ 引述《takumix ( )》之銘言: : 資料庫為Oracle : 假如資料表如下: : ITEM STAT : ----------------- : AAA 0 : AAA 1 : AAA 0 : AAA 2 : AAA 2 : AAA 0 : AAA 1 : ----------------- : 請問如果想產生以下的資料表該怎麼做呢? : ITEM STAT=0 STAT=1 STAT=2 TOTAL : ------------------------------------ : AAA 3 2 2 6 : 我用了 SELECT ITEM,COUNT(*) FROM TABLE WHERE STAT='0' GROUP BY ITEM : 只會跑出以下的表格,這樣就不能一次統計完畢了... : ITEM COUNT(*) : -------------- : AAA 3 : 不知道有什麼好方法,可以一次統計完該項目後再去統計另一個項目嗎? 試試 SELECT A.ITEM ,SUM(CASE WHEN A.STAT = '0' THEN 1 ELSE 0 END) A0 ,SUM(CASE WHEN A.STAT = '1' THEN 1 ELSE 0 END) A1 ,SUM(CASE WHEN A.STAT = '2' THEN 1 ELSE 0 END) A2 ,COUNT(*) A3 FROM TABLE A GROUP BY A.ITEM; -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 202.3.165.131
takumix:真是太感謝了,這個方法可行,我再以這個語法來作條件的進一 08/26 21:13
takumix:步的限制~ 08/26 21:39