2014-04-08 57 views
0

我有一个表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

回答

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 
+0

不,不是这样的。错误行是COUNT(CASE WHEN ORG!='DMS'THEN 1 ELSE 0 END)作为NonDMSTotal',消息是'ORA-00923:FROM关键字找不到预期的地方 00923. 00000 - “FROM关键字找不到预计“'。 –

+0

我没有使用COUNT ..它的SUM..check我的答案.. –

+0

我尝试了两个,都没有成功。 –

相关问题