昨天在项目中修改了一处bug,需求是查询会员档案列表,点击按生日排序,需要将即将过生日的用户由近至远的排序。
举个列子,有一张tbl_user表,表有字段birthday会员生日,birthday有7行内容为:
'2018.04.01',
'2018.04.02',
'2018.04.03',
'2018.04.04',
'2018.04.05',
'',
NULL,
今天是'2018.04.03',那么查询出的结果应为:
'2018.04.03',
'2018.04.04',
'2018.04.05',
'2018.04.01',
'2018.04.02',
'',
NULL,
思路说一下,该查询有三种解决方法
第一种解决方式是通过UNION实现,但是UNION和ORDER BY的使用,需要注意一点小事情,先UNION,后ORDER,或者用两个中间表UNION两个中间表,论坛上很多大神有详细的帖子,如参考:http://www.jb51.net/article/99842.htm
代码如下: