1. 程式人生 > >Mysql查詢結果順序按 in() 中ID 的順序排列

Mysql查詢結果順序按 in() 中ID 的順序排列

<select id="queryGBStyleByIDs" resultMap="styleMap">
		select style_num_id ,style_id,style_title,style_pic FROM  gb_style where online = 1 AND  is_hide = 0 and style_num_id in
		<foreach collection="styleNumIDs" item="styleNumId" separator="," open="(" close=")">
		 #{styleNumId}
	    </foreach>
		ORDER BY FIELD
		<foreach collection="styleNumIDs" item="styleNumId" separator="," open="(style_num_id," close=")">
			#{styleNumId}
		</foreach>
	</select>

最終輸出sql如下:

select  style_num_id ,style_id,style_title,style_pic FROM  gb_style where online = 1 AND  is_hide = 0 and style_num_id in (1,3,2,5)  order by  field (style_num_id,1,3,2,5);