gpt4 book ai didi

sql - 如何使用 IN 命令保留 SQL 查询的顺序

转载 作者:IT王子 更新时间:2023-10-29 06:31:40 26 4
gpt4 key购买 nike

SELECT * FROM tblItems
WHERE itemId IN (9,1,4)

按照 SQL 找到它们的顺序返回(恰好是 1、4、9),但是,我希望它们按照我在数组中指定的顺序返回。

我知道我可以用我的母语 (obj c) 对它们重新排序,但是在 SQL 中有没有一种巧妙的方法可以做到这一点?

像这样的事情会很棒:

ORDER BY itemId (9,1,4) --    <-- this dosn't work :)

最佳答案

可能最好的方法是创建一个项目 ID 表,其中还包括排名顺序。然后你就可以按照排名顺序加入和排序。

像这样创建一个表:

 itemID rank
9 1
1 2
4 3

那么您的查询将如下所示:

select tblItems.* from tblItems
inner join items_to_get on
items_to_get.itemID = tblItems.itemID
order by rank

关于sql - 如何使用 IN 命令保留 SQL 查询的顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15155930/

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