gpt4 book ai didi

mysql - SQL - 如何为我的选择查询添加此自定义订单?

转载 作者:太空宇宙 更新时间:2023-11-03 11:52:02 24 4
gpt4 key购买 nike

我正在使用 mysql,我想为我的选择查询添加一些自定义顺序。

例如我有这个表名 A,有列 'a' 和 'b'。而且我可以保证“b”大于“a”。

|a|b|
|3|4|
|1|9|
|2|7|
|6|9|
|8|9|
|2|6|
|4|8|

我想把它们选出来,按值c = 5排序,排序规则是:

如果 c 小于 a 和 b,则权重为 1。

如果 c 在 a 和 b 之间那么这是权重 2。

如果 c 大于 a 和 b,则权重为 3。

然后按这个重量值排序。

(这里不用考虑权重相同的顺序)

所以结果应该是:

|a|b|
|6|9| -> weight 1
|8|9| -> weight 1
|1|9| -> weight 2
|2|6| -> weight 2
|2|7| -> weight 2
|4|8| -> weight 2
|8|9| -> weight 3

那么我该如何编写这个选择查询呢?

PS:在查询中不必指定权重1、2、3,我上面自己“发明”的权重只是为了解决顺序规则!

最佳答案

您可以为此使用CASE:

ORDER BY CASE WHEN @c < a AND @c < b THEN 1
WHEN a < @c AND @c < b THEN 2
WHEN @c > a AND @c > b THEN 3
END

关于mysql - SQL - 如何为我的选择查询添加此自定义订单?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35032960/

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