不知道标题是否有效,因为我无法想出更好的描述。我会在这里澄清一下,但这有点棘手。
我正在开发一个订单系统,带有句柄案例。每个案例可分为几个阶段,但并非总是如此。所有这一切都将在一个点上得到一个"在生产"州。 "在生产"对于没有阶段的案件,州有2个日期,对于有阶段的案件,有2个日期 - 一个应该在生产中的最后期限,一个用于实际投入生产的时间。
现在,我需要4个日期来订购我的查询。
我的问题是,生产中的情况""应该是一起订购,而不是生产中的情况"应该是一起订购,无论是否有阶段的情况。我只需要根据具有阶段的情况来查看不同的字段。
我该怎么做?
我会尝试制作一张图片,让它更容易理解。
e21,e23,r532i和r571a均为日期,应按日期排序。
答案 0 :(得分:0)
您可以使用多个ifs进行选择和排序。但是,在大数据量上,它可能会变得效率低下。
示例:
select id, if( id < 2, if (id > 6, 7, 8), 4 )
from a
order by if( id < 2, if (id > 6, 7, 8), 4 );
+----+------------------------------------+
| id | if( id < 2, if (id > 6, 7, 8), 4 ) |
+----+------------------------------------+
| 2 | 4 |
| 3 | 4 |
| 4 | 4 |
| 5 | 4 |
| 6 | 4 |
| 11 | 4 |
| 12 | 4 |
| 13 | 4 |
| 1 | 8 |
+----+------------------------------------+