テーブルの 1 つの列から同じ値をカウントし、値とカウンターを返そうとしています。たとえば、値 1 は 3 回繰り返し、値 2 は 2 回繰り返します...
これまでのところ、私のプログラムは目的の列のすべての値を配列に格納できます。私の問題は、各値を他の値と比較する方法がわからないことです。カウンターと、おそらくもう 1 つの配列が必要であることはわかっています。だから私はIf条件で立ち往生しました。
try{
Statement stmt = conn.createStatement();
//Statement stmt1 = conn.createStatement();
ResultSet rset = stmt.executeQuery( "SELECT N_REGIONKEY FROM NATION " );
List N_REGIONKEY = new ArrayList ();
while (rset.next()){
N_REGIONKEY.add(rset.getInt("N_REGIONKEY"));
if (rset.next ==N_REGIONKEY){
.
.
.
}
//System.out.println(N_REGIONKEY);
}
}
これは私があなたの助けを借りて書いたものの新しいバージョンですが、それでも答えはあるべきものではありません..
try{
System.out.println("counting rows in NATION table");
Statement stmt = conn.createStatement();
// Statement stmt1 = conn.createStatement();
ResultSet rset = stmt.executeQuery( "SELECT N_REGIONKEY FROM NATION " );
ArrayList N_REGIONKEY = new ArrayList ();
while (rset.next()){
N_REGIONKEY.add(rset.getInt("N_REGIONKEY"));
int occurrences = 0;
for (int i = 0; i<N_REGIONKEY.size();i++)
{
occurrences = Collections.frequency(N_REGIONKEY,N_REGIONKEY.get(i) );
System.out.println("There is " + occurrences + "occurrences for " + N_REGIONKEY.get(i));
}