我想按以下方式对数据库查询进行排序:
数字值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()
但这似乎太过分了。
关于mysql - SQL条件分组,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/51022988/