如何按值拆分行并计算它们?

时间:2014-04-08 02:01:41

标签: sql count

我有一个表TEMP(FILEID,WORD,ORG),其中包含附加了fileID(FILEID)的文件集合中的每个单词,以及发布该文件的组织(ORG)。

enter image description here 现在,我希望按字词分组,看看它们在一个ORG下显示的次数(' DMS')以及它在其他ORG(' NONDMS')文件中显示的次数。它应该是这样的:

WORD   DMS(count) NOTDMS(count)
health   118          32

这是我目前的代码。不确定这是否是正确的事情。

CREATE Table  DMSCOUNT(WORD varchar(200), DMSTotal int, NOTDMSTotal int)
INSERT INTO DMSCOUNT
SELECT WORD,
       SUM(CASE WHEN ORG='DMS' THEN 1 ELSE 0 END) , 
       SUM(CASE WHEN ORG != 'DMS' THEN 1 ELSE 0 END)
FROM TEMP
GROUP BY WORD;

这是我收到的错误消息:

Error at Command Line:2 Column:1 Error report: SQL Error: ORA-00922: missing or invalid option 00922. 00000 - "missing or invalid option"

enter image description here

1 个答案:

答案 0 :(得分:0)

CREATE Table  DMSCOUNT(WORD varchar(200), DMSTotal int, NOTDMSTotal int)

INSERT INTO DMSCOUNT
SELECT Word,
       SUM(CASE WHEN ORG='DMS' THEN 1 ELSE 0 END),
       SUM(CASE WHEN ORG != 'DMS' THEN 1 ELSE 0 END)
FROM temp
GROUP BY Word