mybatis 下 mysql in查询按照参数顺序输出结果
2017-08-08 16:09
751 查看
若是直接
SELECT * FROM project_celiangbuwei where clbwid in ( 7 , 11 , 20 , 4 )
则输出结果为:
4 净胸围
7 净臀围
11 肩宽
20 横裆
使用Field函数排序后:
SQL:
SELECT * FROM project_celiangbuwei where clbwid in ( 7 , 11 , 20 , 4 ) ORDER BY FIELD(clbwid,7,11,20,4)
输出结果:
7 净臀围
11 肩宽
20 横裆
4 净胸围
mybatis 设置:
<select id="findByIds" resultType="com.bwhx.eruler.bean.CeliangBuwei">
SELECT * FROM project_celiangbuwei
where
clbwid in
<foreach collection="array" index="index" item="item" open="(" separator="," close=")" >
#{item}
</foreach>
order by
field(
clbwid,
<foreach collection="array" index="index" item="item" separator="," >
#{item}
</foreach>
)
</select>
SELECT * FROM project_celiangbuwei where clbwid in ( 7 , 11 , 20 , 4 )
则输出结果为:
4 净胸围
7 净臀围
11 肩宽
20 横裆
使用Field函数排序后:
SQL:
SELECT * FROM project_celiangbuwei where clbwid in ( 7 , 11 , 20 , 4 ) ORDER BY FIELD(clbwid,7,11,20,4)
输出结果:
7 净臀围
11 肩宽
20 横裆
4 净胸围
mybatis 设置:
<select id="findByIds" resultType="com.bwhx.eruler.bean.CeliangBuwei">
SELECT * FROM project_celiangbuwei
where
clbwid in
<foreach collection="array" index="index" item="item" open="(" separator="," close=")" >
#{item}
</foreach>
order by
field(
clbwid,
<foreach collection="array" index="index" item="item" separator="," >
#{item}
</foreach>
)
</select>
相关文章推荐
- mysql使用in查询,按照期望的顺序输出结果
- MySQL – 查询按IN的顺序输出结果
- MySQL – 查询按IN的顺序输出结果
- oracle的查询结果按照in条件顺序输出
- MySQL – 查询按IN的顺序输出结果
- Oracle使用in关键字查询时,按照条件输出查询结果
- Mysql 中 查询结果顺序按 IN 关键字中ID 的排列
- mysql in查询结果顺序
- MySQL查询in操作 查询结果按in集合顺序显示_Mysql_脚本之家
- MySQL查询in操作 查询结果按in集合顺序显示
- MySql 查询结果按照指定的顺序
- MySQL查询in操作 查询结果按in集合顺序显示
- MySQL查询用in,怎么按照in里面的查询顺序进行排名
- MySql查询结果按照指定顺序排序
- MySql查询结果按照指定顺序排序
- MyBatis 多参数,in顺序查询
- Mysql查询结果顺序按 in() 中ID 的顺序排列
- Mysql查询结果顺序按 in() 中ID 的顺序排列
- 解决mysql查询,in条件参数为带逗号的字符串,查询结果错误
- MySQL查询结果按in集合顺序排序