gpt4 book ai didi

MySQL在不同条件下选择N行

转载 作者:行者123 更新时间:2023-11-29 00:07:33 25 4
gpt4 key购买 nike

假设有一张表

| id | value |
| 1 | xyz |
| 4 | abc |
| 5 | test |

我想选择 N 行,其中 id 小于数字 X,但如果此结果集小于 N 行,我想添加以下行以确保选择了 N 行(除非此表中没有足够的行)。

例如,我想得到 N=2 行,其中 id 不大于 X=4,所以我得到 1st2nd 行。但是如果我想为 X=4 获取 N=3 行,我需要所有三行。

我可以在一条语句中做到这一点并尽量提高效率吗?

最佳答案

您想对行进行优先排序。您可以使用 order bylimit 来执行此操作。这是一个例子:

select t.*
from table t
order by (x <= @X) desc, x
limit 2;

关于MySQL在不同条件下选择N行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26836196/

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