2016-01-05 3 views
0

Я использую mysql, table prices с колонками id, seller, price.MYSQL - Сортировать по цене + специфический результат

Я хочу показать результаты по цене DESC, но я хочу, чтобы первый результат всегда был продавцом BOB, независимо от того, дороже он.

Пытаюсь с:

SELECT * 
FROM prices 
ORDER BY -price = BOB; 

Но это не работает:/

ответ

0

Try с этим запросом:

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

Вы можете повторно попробовать этот запрос:

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

Это отлично, работает точно как я хотел. Но теперь я хотел бы также, чтобы ПРОДАВЕЦ «ДЖЕЙМС» всегда был на последней позиции. Есть идеи? : D Это означает, что BOB всегда во-первых, JAMES всегда ПОСЛЕДНЕЕ, остальное по цене – Google

+0

Теперь я в поезде, когда я возвращаюсь домой .. Я пытаюсь :) – rdn87

+0

Прохладный: D ill wait – Google

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

это сделает так БОБ первый, вы должны посетить w3schools в разделе SQL для некоторых помощь, которую я нахожу, что это очень полезно :)

+0

Я хочу упорядочить по цене DESC, но ЛПП быть всегда nr1 – Google

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

НАЙДЕНО IT

order by case when name = 'BOB' then 1 else 2 end, -price DESC 
Смежные вопросы