我有一个带有两NSDate
列的表的 sqlite 后端的 coreData:eventStart 和 eventEnd。我想执行一个相当复杂的选择并对其进行排序。
对于应用程序中的主要显示之一,我想检索两件事:
- 10 个持续时间 (eventEnd - eventStart) 小于指定值的事件
- 10 个持续时间大于指定值的事件
- 事件必须根据它们与指定值的距离正确排序
我马上遇到的两个问题是我找不到从表达式中选择列的方法(日期计算)。第二个NSSortDescriptor
似乎只适用于列,而不适用于表达式。这与 SQLite 的工作方式相反,我想知道分解原始 SQL 是否更容易。
我应该提到,我将要使用的数据太大而无法放入内存中以进行排序等操作,尤其是因为排序是在表达式上,因此查询必须返回所有数据进行排序。