Mysql in查询 结果集 乱序
SQL: select * from table where id IN (3,6,9,1,2,5,8,7);
这样的情况取出来后,其实,id还是按1,2,3,4,5,6,7,8,9,排序的,但如果我们真要按IN里面的顺序排序怎么办?SQL能不能完成?是否需要取回来后再foreach一下?其实mysql就有这个方法
sql: select * from table where id IN (3,6,9,1,2,5,8,7) order by field(id,3,6,9,1,2,5,8,7);
出来的顺序就是指定的顺序了。。。。
写法二: )))))))))))))))))))
group by )
group by )
){
]])));
}
});
}catch (Exception e){
log.error("查询合辑下稿件数量出错",e);
}
}
//set结果集
page.setDatas(datas);
总结:
1. in 查询 返回的结果集 如果有数据不存在的时候 返回结果集的个数 和合辑id_list的size 是不一样的.
2. 能单表查询 尽量不要链表查询
OK. 到此结束 小记...