2015-12-10 32 views
-1

我想用java計算數據庫中出現特定單詞的次數?如何計算數據庫中發生特定單詞的次數?

例如,我的數據庫C-RAM包含

 
Words 
===== 

john smith john, 
mary jones, 
mary john albert 

[詞是在C-RAM表中的字段名稱]

我要檢查 「約翰」 多少次發生在C-內存。

我檢查了沒有查詢的編碼,但我無法找到解決方案。如果我使用下面這個查詢,我會得到與輸出相同的查詢,也不能使用整型變量來爲此查詢分配。

for(int jm=0;jm<ij;jm++) 
{ 
    String query1 = null; 
    for(int k=0;k<ikm;k++) 
    { 
     if(word[jm].contains(item1)) 
     { 
      query1="SELECT COUNT(*) FROM c_ram WHERE Words = item"; 
     } 

幫助我在使用或不使用查詢時得到答案。

+0

爲什麼SQL標籤? – jarlh

回答

0

您可以藉助Java模式匹配。示例代碼是這樣的

Pattern pattern = Pattern.compile("john"); 
    int count=0; 
    String sql = "SELECT words FROM c_ram"; 
    PreparedStatement statement = connection.prepareStatement(sql); 
    ResultSet result=statement.executeQuery(sql); 
    while(result.next()) { 
     Matcher matcher = pattern.matcher(result.getString(1)); 
     while(matcher.find()) 
     count++; 
    } 

    System.out.println(count); 
+0

謝謝Pulkit。但在這項工作中,[約翰史密斯約翰,瑪麗瓊斯,瑪麗約翰阿爾伯特]存儲在cram表中。所以我必須檢查約翰出現在該表中的次數。 –

+0

所以你想檢查特定的列說Column1你想檢查一個詞在整個表中可能有多少次? – Pulkit

+0

c-ram只包含一列名爲「Words」的列。在這句話中,我想檢查一下約翰有多少次犯罪[約翰史密斯約翰,瑪麗瓊斯,瑪麗約翰艾伯特]。這裏約翰出現3次。所以我想這個輸出 –

相關問題