当前位置:编程学习 > JAVA >>

in操作改造

现在由以下的sql需要改造
public List getDocListByDocIds(){
List list = new ArrayList();
String sql = select * from t_user where userid in(1,2,3,4,5,.....100) order by createDate limit 0,10
list = docReadJdbcTemplate.queryForList(sql);
}


现在要改造成每20个 做一次in查询,循环查五次,但由于order by createDate limit 0,10的限制无法直接采用循环的方式,否则数据不止10条否则不会按照创建时间来排序

各位大侠有何高见否。不胜感激 --------------------编程问答-------------------- 怎么没人回答呀,自己坐沙发 --------------------编程问答-------------------- 这什么破需求?
查询条件变了,结果自然会变。排序自然达不到你想要的顺序。

除非你能先把那100个id 按照日期排序。可这样做,要多操作一次,反而更没什么意义。
真不知道出于什么目的......
--------------------编程问答--------------------
引用 2 楼  的回复:
这什么破需求?
查询条件变了,结果自然会变。排序自然达不到你想要的顺序。

除非你能先把那100个id 按照日期排序。可这样做,要多操作一次,反而更没什么意义。
真不知道出于什么目的......

程序复杂一点,从而为了减轻数据库的压力,平衡压力的做法 --------------------编程问答--------------------   为什么要分开查找。。分开查找我感觉数据库的压力才大。 --------------------编程问答--------------------
引用 3 楼  的回复:
引用 2 楼 的回复:

这什么破需求?
查询条件变了,结果自然会变。排序自然达不到你想要的顺序。

除非你能先把那100个id 按照日期排序。可这样做,要多操作一次,反而更没什么意义。
真不知道出于什么目的......

程序复杂一点,从而为了减轻数据库的压力,平衡压力的做法


那我觉得,你还不如一次性查出所有结果,存放在list里面在处理了。
补充:Java ,  Web 开发
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,