Select 为什么;选择DISTINCT";HSQLDB不工作时?

Select 为什么;选择DISTINCT";HSQLDB不工作时?,select,distinct,hsqldb,jdbctemplate,Select,Distinct,Hsqldb,Jdbctemplate,我有个问题。当我尝试在HSQLDB中使用“Select distinct”时,结果流将返回我所有的行,而不是我只返回不同的行 我尝试了以下语法: 按用户ID选择与用户ID顺序不同的评级; 按用户ID从评级顺序中选择DISTINCT(用户ID); 从分级中选择不同的用户ID; 从评级中选择DISTINCT(UserID); 它们都不起作用。有什么问题 如果有人能帮助我,我将不胜感激。 多谢各位 我执行操作的功能代码如下所示: private void readUserFile(字符串文件名){

我有个问题。当我尝试在HSQLDB中使用“Select distinct”时,结果流将返回我所有的行,而不是我只返回不同的行

我尝试了以下语法:

按用户ID选择与用户ID顺序不同的评级;
按用户ID从评级顺序中选择DISTINCT(用户ID);
从分级中选择不同的用户ID;
从评级中选择DISTINCT(UserID);
它们都不起作用。有什么问题

如果有人能帮助我,我将不胜感激。 多谢各位

我执行操作的功能代码如下所示:

private void readUserFile(字符串文件名){
试一试{
//验证文件用户是否存在
boolean exists=(新文件(文件名)).exists();
如果(!存在){
//若文件用户不存在,则根据评级表中存在的不同用户创建一个
ResultSet rsUsers=jdbcTemplate.getDataSource().getConnection().createStatement().executeQuery(“按用户ID从评级顺序中选择不同的用户ID;”);
列表用户=新建ArrayList();
while(rsUsers.next()){
add(String.valueOf(rsUsers.getInt(1));
}
rsUsers.close();
//创建并写入文件
BufferedWriter f=null;
f=新的BufferedWriter(新的FileWriter(文件名));
for(字符串用户:用户){
f、 写入(用户);
f、 换行符();
}
f、 close();
}
PreparedStatement prstInsert=con.prepareStatement(“插入用户值(?));
BufferedReader in=新的BufferedReader(新文件读取器(文件名));
int i=0;
while(true){
字符串s=in.readLine();
如果(s==null){//文件结束
log.info(“导入的用户总数:+i”);
打破
}
i++;
int userid=Integer.parseInt;
prstInsert.setInt(1,userid);
如果(i!=0&&数学四舍五入((双)i/100)=((双)i/100)){
log.info(“导入的用户:+i”);
}
prstInsert.executeUpdate();
}
}catch(filenotfounde异常){
e、 printStackTrace();
}捕获(IOE异常){
e、 printStackTrace();
}捕获(SQLE异常){
e、 printStackTrace();
}
}

请包含此表的CREATE TABLE语句和任何CREATE INDEX语句,并报告HSQLDB版本。