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
我使用 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