嗨即時嘗試使用其狀態來訂購域數據。正如你可能知道的,域名狀態DOM_EXP或DOM_DAKT適用於域命中DOM_HELD之前,因此我不在乎這個狀態之一有一個域之前它成爲DOM_HELDMySQL按字段排序
我如何訂購這些數據?使用select提供以下我只做到這一點DOM_DAKT是behing DOM_EXP,但我希望它是介於兩者之間,通過EXP_DATE
SELECT domain_id, status, exp_date
FROM domains
ORDER BY
field (status, 'DOM_DEL', 'DOM_HELD', 'DOM_EXP', 'DOM_DAKT'),
exp_date ASC;
+-----------+----------+---------------------+
| domain_id | status | exp_date |
+-----------+----------+---------------------+
| 2 | DOM_DEL | 2012-02-02 10:47:33 |
| 4 | DOM_HELD | 2012-02-02 10:47:38 |
| 5 | DOM_HELD | 2012-02-02 10:47:40 |
| 7 | DOM_HELD | 2012-02-02 10:47:44 |
| 1 | DOM_EXP | 2012-02-02 10:47:27 |
| 3 | DOM_EXP | 2012-02-02 10:47:35 |
| 6 | DOM_EXP | 2012-02-02 10:47:42 |
| 54 | DOM_DAKT | 2012-02-02 10:47:39 |
+-----------+----------+---------------------+
結果命令必須由要這樣
+-----------+----------+---------------------+
| domain_id | status | exp_date |
+-----------+----------+---------------------+
| 2 | DOM_DEL | 2012-02-02 10:47:33 |
| 4 | DOM_HELD | 2012-02-02 10:47:38 |
| 5 | DOM_HELD | 2012-02-02 10:47:40 |
| 7 | DOM_HELD | 2012-02-02 10:47:44 |
| 1 | DOM_EXP | 2012-02-02 10:47:27 |
| 3 | DOM_EXP | 2012-02-02 10:47:35 |
| 54 | DOM_DAKT | 2012-02-02 10:47:39 |
| 6 | DOM_EXP | 2012-02-02 10:47:42 |
+-----------+----------+---------------------+
是否是預期結果的最後一行,意爲「DOM_DAKT」? – Corubba 2012-02-07 16:59:53
@BloodyWorld:DOM_EXP和DOM_DAKT上的no應該只應用exp_date命令,因爲它們相等 – nabizan 2012-02-07 17:02:07