Я хотел бы отсортировать запрос базы данных:
number value DESCENDING с учетом свойства String из другого поля
Что-то вроде:
ORDER BY money DESC,
currency = 'EUR'
Пример:
money | currency
-----------------------
200 | EUR
300 | USD
500 | USD
100 | EUR
400 | EUR
Я хотел бы сортировать money
по убыванию, только когда currency
равна EUR
. Я не хочу рассматривать другую валюту при сортировке, например:
money | currency
-----------------------
400 | EUR
200 | EUR
100 | EUR
300 | USD
500 | USD
Мне не нужна сортировка после EUR
. Может быть абсолютно случайным
Вы можете использовать несколько ключей в следующем order by
:
order by (currency = 'EUR') desc,
money desc
Это упорядочивает оставшиеся валюты в порядке убывания. Это побочный продукт. Если вы специально хотите, чтобы они были случайными:
order by (currency = 'EUR') desc,
(case when currency = 'EUR' then money end) desc,
rand()
Но это кажется излишним.
Если вам действительно нужно условие заказа только по значению "EUR", вы можете сделать что-то вроде этого:
ORDER BY (currency = 'EUR') * money DESC