首页 > 数据库技术 > 详细

MySQL自定义查询字段排序

时间:2016-01-18 22:39:27      阅读:355      评论:0      收藏:0      [点我收藏+]

同事在做抽奖排名的时候有个问题 需要按照

一等奖

二等奖

三等奖

未中奖

的形式输出数据

问到我如何排序。

数据库设计如下 用一个prize_code字段标示了是否中奖 1是一等奖 2是二等奖 3是三等奖 0是未中奖

思考许久 本来开始想用union 写出SQL如下

select * 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自定义查询字段排序

原文:http://www.cnblogs.com/lizhaoyao/p/5140561.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!