0

クエリ (DB2) を実行した後、結果セットには 4 つの列があります。

res1=resultset.getString(Em);  
res2=resultset.getString(Posc);  
res3=resultset.getString(Cal);  
res4=resultset.getString(Ern);

出力は次のようになります。

Em     Posc   Cal Ern  
305      1     2   N  
306      1     2   N  
307      2     3   Y     
  • すべてEmがユニークです
  • Posc任意の整数にすることができます
  • Cal任意の整数にすることができます
  • ErnNまたはYにすることができます

PoscCalおよびの異なる値のカウントを取得するようにコーディングするにはどうすればよいですかErn

たとえば。の値が何であれ、すべての 1、2 などの数を取得するにはどうすればよいですかPosc

同様に、他の列の数を取得するにはどうすればよいですか。

4

2 に答える 2

0

次のようなものが必要です。

        Map<Integer,Integer> emCount = new HashMap<>();
        Map<Integer,Integer> poscCount = new HashMap<>();
        Map<String,Integer> calCount = new HashMap<>();

        while (resultset.next()) {
            final int em = resultset.getInt(Em);
            final int posc = resultset.getInt(Posc);
            final String cal = resultset.getString(Cal);

            emCount = putKeyValue(emCount,em);
            poscCount = putKeyValue(poscCount ,em);
            calCount = putKeyValue(calCount ,em);
        }

public Map<Object, Integer> putKeyValue(Map<Object, Integer> colCount, Object val) {
    if (colCount.containsKey(val)) {
        colCount.put(val, colCount.get(val).intValue() + 1);
    } else {
        colCount.put(val, 1);
    }

    return colCount;
}
于 2013-10-08T19:39:25.020 に答える