作者fantasyj (如梦似幻)
看板Database
标题Re: [SQL ] 同个栏位不同资料的统计
时间Thu Aug 26 17:24:16 2010
※ 引述《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
1F:推 takumix:真是太感谢了,这个方法可行,我再以这个语法来作条件的进一 08/26 21:13
2F:推 takumix:步的限制~ 08/26 21:39