一些技巧
ORDER BY FIND_IN_SET(card_type, "MASTER-CARD,VISA,DISCOVER") -- sort 'MASTER-CARD' first.
ORDER BY x IS NULL, x -- order by `x`, but put `NULLs` last.
定製訂購
SELECT * FROM some_table WHERE id IN (118, 17, 113, 23, 72)
ORDER BY FIELD(id, 118, 17, 113, 23, 72);
以指定的 id 順序返回結果。
ID |
… |
---|---|
118 |
… |
17 |
… |
113 |
… |
23 |
… |
72 |
… |
如果 id 已經排序並且你只需要檢索行,則非常有用。