mysql in查询 结果乱序 引发的思考

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 )

){
]])));
}
});
}catch (Exception e){
log.error("查询合辑下稿件数量出错",e);
}
}
//set结果集
page.setDatas(datas); 

总结:

1. in 查询 返回的结果集 如果有数据不存在的时候 返回结果集的个数 和合辑id_list的size 是不一样的.

2. 能单表查询 尽量不要链表查询

OK. 到此结束 小记...

上一篇:Linux---- vim 插件


下一篇:防止SQL注入攻击,数据库操作类