gpt4 book ai didi

sql-server - 按值列表对查询结果排序

转载 作者:行者123 更新时间:2023-12-02 17:03:45 25 4
gpt4 key购买 nike

我正在处理一个 sql 查询,该查询将值列表作为参数传递,例如

select * 
from ProductGroups
where GroupID in (24,12,7,14,65)

此列表由整个数据库中使用的关系构成,并且必须按此顺序保存。

我想按此列表对结果进行排序。我只需要第一个结果,但在本例中它可能是 GroupId 7 的结果。

我无法像这样查询

order by (24,12,7,14,65).indexOf(GroupId)

有人知道怎么做吗?

其他信息:
构建连接可以工作并在 mssql 查询编辑器中运行它,但是...

由于将查询发送到 mssql 的软件的限制,我必须将其作为 1 个参数传递给某些内部查询生成器,即“24,12,7,14,65”。而且我事先不知道这个列表中有多少个数字,可能是 2,也可能是 20。

最佳答案

您还可以通过 CASE 订购:

select * 
from ProductGroups
where GroupID in (24,12,7,14,65)
order by case GroupId
when 7 then 1 -- First in ordering
when 14 then 2 -- Second
else 3
end

关于sql-server - 按值列表对查询结果排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1831799/

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