jfinal 分页 不能起到去重的作用

逐梦路 发布于 2015/04/27 11:48
阅读 323
收藏 0
public Page<student> search (String id,String name,int pageNumber,int pageSize){
StringBuilder sql = new StringBuilder(
" from t_student  where 1=1");
if(id != null && !"".equals(id.trim())){
sql.append(" AND id like '%"+id+"%'");
}
if(name != null && !"".equals(name.trim())){
sql.append(" AND name like '%"+name+"%'");
}
sql.append(" group by fund_id");
Page<TBizFundInfo> page = paginate(pageNumber, pageSize, "select distinct(id), name", sql.toString());
return page;

}

@jfinal   为什吗 我用分组或者distinct(id)都不能很好的去重。一开始显示是对的  但是加上参数id 或者 name之后  在查询之后 总页数就不对了。 应该怎么改呢。

加载中
0
JFinal
JFinal
在原有 SQL 之外再套一层: select *  from (原SQL) as temp,例如:model.paginate(pageNumber, pageSize, "select *", " from (select distinct(id), name where ....) as temp")
逐梦路
逐梦路
OK了 谢谢哈~~
逐梦路
逐梦路
大侠 留步。Page<TBizFundInfo> page = paginate(pageNumber, pageSize, "select distinct(student_id), name", sql.toString()); select * (原SQL) as temp 加到paginate里面吗? 不知道怎么拼了。。--!
0
Tom-Lin
Tom-Lin
distinct(id) ? id 能重复?
0
逐梦路
逐梦路

 @Tom-Lin   不好意思,复制代码的时候弄错了  不是主键那个id 是student_id  我知道 但是还是错。

public Page<student> search (String student_id,String name,int pageNumber,int pageSize){

StringBuilder sql = new StringBuilder(
" from t_student  where 1=1");
if(student_id != null && !"".equals(student_id.trim())){
sql.append(" AND student_id like '%"+student_id+"%'");
}
if(name != null && !"".equals(name.trim())){
sql.append(" AND name like '%"+name+"%'");
}
sql.append(" group by fund_id");
Page<TBizFundInfo> page = paginate(pageNumber, pageSize, "select distinct(student_id), name", sql.toString());
return page;
}
返回顶部
顶部