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)
有没有办法做到这一点?
尝试:
SELECT *, CASE WHEN Manufacturer = 'Fred' THEN 0 ELSE 1 END AS Ordering
FROM ProductsTable
ORDER BY Ordering, Manufacturer
Run Code Online (Sandbox Code Playgroud)