我有一份生日庆祝者名单,我想根据我的标题所示显示,例如:
+-------------------------------------+------------+
| parties_name | birthday |
+-------------------------------------+------------+
| John Doe Lee | 2016-02-15 |
| Lee Doe John | 2016-02-17 |
| Jane Doe Lee | 2016-02-18 |
| Spongebob Squarepants | 2016-02-19 |
| Sandy Cheeks | 2016-02-01 |
| Squidward Tentacles | 2016-02-02 |
| Patrick Starfish | 2016-02-03 |
+-------------------------------------+------------+
假设记录顶部的人是当前的生日庆祝者,而底层人物是下一个庆祝者,最后一行是前一个庆祝者。没有使用UNION或UNION ALL的任何建议?谢谢你的帮助
答案 0 :(得分:1)
最简单的解决方案可能是:
SELECT *
FROM Birthdays
ORDER BY CASE WHEN Birthday >= UTC_DATE THEN 1 ELSE 2 END ASC
更新:我们可以在1个查询中执行此操作:
struct
请查看SQL Fiddle