gpt4 book ai didi

mysql - 有条件 ORDER BY(列值)?

转载 作者:行者123 更新时间:2023-11-29 09:24:45 29 4
gpt4 key购买 nike

希望有人能帮我解答一下我的小问题。我正在寻找一种方法来SELECT我的产品,并首先使用ORDER BY distance ASC显示30公里内最近的产品,如果距离超过30公里,则显示按 id DESC 排序

我目前正在使用以下方式选择产品:

SELECT id FROM products ORDER BY distance ASC, id DESC

这是我的产品表:

id | distance
1 | 30
2 | 24
3 | 83
4 | 102
5 | 16
6 | 8
7 | 4

最佳答案

如果您只想有两个组:距离小于 30 公里和所有其他组,您可以使用一种:

SELECT * 
FROM products
ORDER BY (distance>30) ASC, id DESC

https://www.db-fiddle.com/f/ivzEhYfsTDRfyeh9mfeYBW/0

如果您只想按 30 公里以内的距离排序:

SELECT products.*
FROM products
ORDER BY least(distance, 31) ASC, id DESC

https://www.db-fiddle.com/f/ivzEhYfsTDRfyeh9mfeYBW/1

关于mysql - 有条件 ORDER BY(列值)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59790000/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com