各行に5つのフィールドを持つPOJOを作成し、重複を許可しないSetを使用することができます。 POJOはequalsとhashcodeを実装し、equalsの意味を定義します。
例:
public class Row {
private Integer col1;
private Integer col2;
private Integer col3;
private Integer Col4;
private Integer Col5;
public Row(Integer col1, Integer col2, Integer col3) {
this.col1 = col1;
this.col2 = col2;
this.col3 = col3;
}
//gets sets
public Integer getCol1() {
return col1;
}
public Integer getCol2() {
return col2;
}
public Integer getCol3() {
return col3;
}
@Override
public boolean equals(Object o) {
if (o == null || !(o instanceof Row))
return false;
if (this == o)
return true;
Row other = (Row)o;
if (col1.equals(other.getCol1()) && col2.equals(other.getCol2()) && col3.equals(other.getCol3())) {
return true;
}
return false;
}
@Override
public int hashCode() {
return col1+col2+col3;
}
}
テスト:行2上行1を選択理由として
public static void main(String args[]){
Main m = new Main();
Row r1 = m.new Row(1,1,2);
Row r2 = m.new Row(2,3,4);
Row r3 = m.new Row(1,1,2);
Row r4 = m.new Row(2,3,2);
Set<Row> set = new HashSet<>();
set.add(r1);
set.add(r2);
set.add(r3);
set.add(r4);
for (Row row : set) {
System.out.println(row.getCol1() + ":" + row.getCol2() + ":" + row.getCol3());
}
}
任意のロジック?結果はCol D列で並べられますか?既に 'distinct'節をクエリに追加できませんか? – Marvin
[なぜ誰かが私を助けることができますか?実際の質問ではありませんか?](http://meta.stackoverflow.com/q/284236) – EJoshuaS