Woooowen You can do anything you set your mind to, man

Mysql如何排序

需求是这样的.

图文轮播排序.字段parent.每个图片的值分别是414,415,416,419,421

需要将图片显示循序按照parent值为416,415,419,421,414的顺序排序.那么这个sql就不能简单的写出order by parent desc 这种,因为顺序的不按照升序或者降序来的.

SELECT * FROM `module_images`  WHERE pid = 'xx' and appid = 'xx' and parent in (416,415,419,421,414) GROUP BY parent order by FIELD(parent,416,415,419,421,414)

这样的sql语句就能完成上述的功能.

前面的in里面的顺序可以随便改变,但是后面的需要按照顺序书写. 关键就是这个order by FIELD.另外不要忘记group by 不然是会出错的.

但是不建议在数据库使用函数方法来进行计算,排序.应该简化数据库操作,将排序算法留在逻辑层完成

Woooowen 浙ICP备15013647号