str:字段名 ,
str1,str2,str3:自定义排序的数值
自然排序: 1,2,3,4,5 , 自定义排序: 5,3,1,4,2
先排 5,3 的数据,1,2,4的数据按照时间来
把 5,3 分 一级, 1,2,4为一级, 每级按时间排序 也可以加一个字段实现下面的效果
MySQL的排序,使用order by来实现。order by id desc,表示用id降序排列
当需要用多个字段排序时,order by cdate desc,id asc,表示先用cdate降序排列,cdate相同的再用id升序排列
前几天工作上遇到一个问题,在mysql数据查询的时候,使用的是in条件,而结果需要根据in来进行排序,当时尝试了几次都没成功,后来在度娘的帮助下,找到了解决办法: select * from table_name where id in (6,2,1,10,5,7..) 查询的结果和in中的顺序并不一致,也就是说在批量查询时,mysql的查询并不是按照in中的值得顺序来查询的。那怎么才能保证和in查询中的顺序相同呢? 查询了资料发现有两种方式可以对in查询的结果进行排序。一种是order by find_in_set,另外一种是order by substring_index 1、select * from table_name where id in (6,2,1,10,5,7..) order by find_in_set(id,'6,2,1,10,5,7') 2、select * from table_name where id in (6,2,1,10,5,7..) order by substring_index('6,2,1,10,5,7',id,1)欢迎分享,转载请注明来源:内存溢出
评论列表(0条)