fruit 表有一個 name 字段, 具有以下特定的值: 蘋果(Apple), 香蕉(Banana), 橘子(Orange), 梨(Pear). 每個特定的值都有一系列的品種.
比方說, 為了論證的緣故, 我們要按香蕉, 蘋果, 梨, 橘子等特定的順序排列數據, 然后再按品種排序. 使用普通的 ORDER BY 子句不可能這樣做, 因為這個字段的升序或降序排序不起作用. 我們要么需要某種形式的排序列或進行其他選擇.
在 ORDER BY 子句中使用 FIELD 函數可以實現這一點. 它的工作方式是指定要排序的列, 然后按順序排序它們的值. 例如:
SELECT * FROM fruit ORDER BY FIELD(name, 'Banana', 'Apple', 'Pear', 'Orange'), variety;