iOS核心数据分组问题

时间:2014-06-02 14:50:06

标签: ios core-data aggregate-functions nsfetchrequest

当我尝试使用" setPropertiesToGroupBy"时,我收到以下异常。

  具有GROUP BY组件的查询中的SELECT子句只能包含GROUP BY中命名的属性或聚合函数((),名称p_name,

我在堆栈溢出上尝试了多个解决方案,但我找不到上述异常的正当理由。

所以我的问题是,问题基于以下数据集

|person_ID |  phonenum    | p_name | Paid  
|    1     |     123      | tom    |   0 
|    2     |     415      | rob    |   0
|    1     |     233      | tom    |   1
|    3     |     875      | jil    |   0
|    1     |     445      | tom    |   1
|    2     |     253      | rob    |   0 
|    2     |     475      | rob    |   1

我希望结果按人员ID分组并按付费排序,因此每个人至少有一行是最高支付的人。

SELECT * FROM USERS GROUPBY person_ID ORDERBY Paid desc 


|person_ID |  phonenum    | p_name | Paid  
|    1     |     233      | tom    |   1
|    2     |     475      | rob    |   1
|    3     |     875      | jil    |   0

任何建议请说清楚。

1 个答案:

答案 0 :(得分:0)

如果你正在使用fetchResultsController:

NSFetchedResultsController *contoller = [[NSFetchedResultsController alloc] initWithFetchRequest:YOUR_REQUEST managedObjectContext:YOUR_CONTEXT] sectionNameKeyPath:person_ID cacheName:nil];