订购带有异常的SQL查询

Urb*_*coz 2 mysql sql-order-by

我有一个产品表,我需要编写一个SQL查询,根据他们的制造商按字母顺序排序这些产品.

SELECT * FROM ProductsTable ORDER BY Manufacturer

但复杂的是我们正在努力推广一个特定的制造商.因此,该制造商的所有产品都需要排在最前面,而不是其他产品的字母表.

e.g.

+---------+------------+
|Product  |Manufacturer|
+---------+------------+
|pears    |Jim         |
|apples   |Fred        |
|tomatoes |Adam        |
|oranges  |Bob         |
|bananas  |Fred        |
|grapes   |Carl        |
+---------+------------+

If we are promoting Fred, the query would result in

+---------+------------+
|Product  |Manufacturer|
+---------+------------+
|apples   |Fred        |
|bananas  |Fred        |
|tomatoes |Adam        |
|oranges  |Bob         |
|grapes   |Carl        |
|pears    |Jim         |
+---------+------------+
Run Code Online (Sandbox Code Playgroud)

有没有办法做到这一点?

Fir*_*ari 6

尝试:

SELECT *, CASE WHEN Manufacturer = 'Fred' THEN 0 ELSE 1 END AS Ordering
FROM ProductsTable 
ORDER BY Ordering, Manufacturer
Run Code Online (Sandbox Code Playgroud)