gpt4 book ai didi

SQLite 以自定义顺序返回数据

转载 作者:行者123 更新时间:2023-12-03 15:21:46 26 4
gpt4 key购买 nike

我正在使用 SQLite 查询(在 iOS 应用程序中),如下所示:

SELECT * FROM tblStations WHERE StationID IN ('206','114','113','111','112','213','214','215','602','603','604')

但是,当我真正想要的是按照我在 IN 子句中指定的顺序返回数据时,我得到的结果数据是按降序或升序排列的。

这可能吗?

最佳答案

对结果进行排序的简单方法

NSArray *stationIDs = @[@206,@114,@113,@111,@112,@213,@214,@215,@602,@603,@604];

NSArray *stations = @[@{@"Id":@(604)},@{@"Id":@(603)},@{@"Id":@(602)},@{@"Id":@(215)},
@{@"Id":@(214)},@{@"Id":@(213)},@{@"Id":@(112)},@{@"Id":@(111)},
@{@"Id":@(113)},@{@"Id":@(114)},@{@"Id":@(206)}];

stations = [stations sortedArrayUsingComparator:
^NSComparisonResult(NSDictionary * dict1, NSDictionary *dict2)
{
NSUInteger index1 = [stationIDs indexOfObject:dict1[@"Id"]];
NSUInteger index2 = [stationIDs indexOfObject:dict2[@"Id"]];
return [@(index1) compare:@(index2)];
}];

关于SQLite 以自定义顺序返回数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17697617/

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