mysql 查询结果集按照指定的字段值顺序排序

一曲冷凌霜 提交于 2019-11-28 18:16:37

mysql 查询结果如果不给予指定的order by ,那么mysql会按照主键顺序(innodb引擎)对结果集加以排序,那么最后的排序可能就不是你想要的排序结果。

举个例子,我要按照前端传过来的mongoId集合来查询数据库并且返回同样排序的结果集合,如(M3,M5,M4),他们对应的主键顺序为(M4,M3,M5)。如果在查询语句中不加order by 对查询结果排序,那么结果就会变成主键顺序(M4,M3,M5)。

就像上图,最后的结果是按VId排的序。那么如果想要按照(M3,M5,M4)的排序返回结果,就需要用到自排序字段  order by field ( value ,str1,str2,str3) 。

sql如下:

 

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!