MYSQL - 按价格排序 + 特定的第一个结果

MYSQL - Order By price + specific first result

我使用 mysql、table prices 和列 id, seller, price

我想按价格显示结果DESC,但我希望第一个结果始终是卖家BOB,无论他是否更贵。

我正在尝试:

SELECT *
FROM prices 
ORDER BY -price = BOB;

但它不起作用:/

SELECT *
FROM prices
ORDER BY (`seller` = 'BOB') DESC, `seller`

这将使 BOB 成为第一个,您应该访问 sql 部分中的 w3Schools 以获得一些帮助,我发现它非常有用:)

SELECT *
FROM prices
ORDER BY (`seller` = 'BOB') DESC, `seller`, 'price'

找到了

order by case when name = 'BOB' then 1 else 2 end, -price DESC

试试这个查询:

SELECT * FROM prices
ORDER BY (`seller` = 'BOB') DESC, price DESC, seller 

您可以re-try这个查询:

SELECT * FROM prices
ORDER BY (`seller` = 'BOB') DESC,(seller='James') ASC, price DESC, seller