如何同时从两列计算相同的值?

时间:2016-01-03 15:03:48

标签: java count

目前我能够得到一个结果"是"来自" book"列,但我无法得到结果计数"是"来自" book"和"架子"来自同一行。

代码:

string query = "SELECT book,shelf FROM table";
ResultSet rs = stmt.executeQuery(query);
int bCount = 0;

while (rs.next()) 
{
    string crs = rsx.getString("book");
    if ("yes".equalsIgnoreCase(crs)) 
        bCount++;

}

然而上述代码无效。

ResultSet rs = stmt.executeQuery(query);
int mixCount = 0;

while (rs.next()) 
{
    string crs = rsx.getString("book");
    string cty = rsx.getString("shelf");

    if (equalsIgnoreCase(crs).equalsIgnoreCase(cty))
        mixCount++;
}

1 个答案:

答案 0 :(得分:3)

你可以做到

     if ("yes".equalsIgnoreCase(crs) && "yes".equalsIgnoreCase(cty)) {
        mixCount++;
     }

然而,使用数据库执行此操作会更简单。

 String query = "SELECT count(1) FROM table WHERE book = 'yes' && self = 'yes'";

这将返回您需要的计数。