发布网友 发布时间:2022-04-30 20:34
共3个回答
懂视网 时间:2022-05-01 00:55
* from (SELECT * FROM data where prize_code>0 order by prize_code asc) as tmp UNION select * from data where prize_code=0;查询结果如下:
然后同事觉得太复杂 不好理解 ,后来我说提供用分两次查询的方式交给php处理排序 ,然后他说 那样不利于分页 而且逻辑复杂了,于是我想到不如自定义排序
最终解决如下:
SELECT * FROM data order by field(prize_code,1,2,3,0);
查询结果如下:
MySQL自定义查询字段排序
标签:
热心网友 时间:2022-04-30 22:03
你好,很高兴回答你的问题。热心网友 时间:2022-04-30 23:21
你的第一个where条件sort>=0,会把所有的数据都筛选出来。所以这个条件在这里没有什么意义,起码就你给出来的这个示例数据来说,所有的数据都会被筛选出来。一直被困惑着