select有條件in要按照in中的數據排序


mybatis中的寫法

<select id="selectByIds"     
                resultType="com.hoohui.electronic.util.ExHashMap">
        select
        <include refid="Base_Column_List" />
        from doctor t where t.id in
        <foreach item="item" index="index" collection="array"
                 open="(" separator="," close=")">
        #{item}
        </foreach>
        order by field(id,
        <foreach item="item" index="index" collection="array"
                 open="" separator="," close="">
            #{item}
        </foreach>
        )
    </select>        

mysql語句的寫法

SELECT  *  FROM  `doctor`  WHERE  id  IN(580,579,578,577,576,575,574,573,543,305,321,340,388,402,433)  ORDER  BY  INSTR(',580,579,578,577,576,575,574,573,543,305,321,340,388,402,433,',CONCAT(',',id,','))

 

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); 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM