SELECT count(Name),Name from Test group by Name。
如何使用 Coredata - iOS SDK 执行此查询
SELECT count(Name),Name from Test group by Name。
如何使用 Coredata - iOS SDK 执行此查询
你没有。
Core Data 不是数据库。它是一个对象层次结构,碰巧持久化到磁盘,其中一个持久性选择是数据库。
NSPredicate 将允许您从 Core Data 中检索实体,然后您可以使用 KVC 根据需要对它们进行分组并执行计数。
可以用 NSExpression 来实现
// count messages
let countExpression = NSExpression(format: "count:(message)")
let countED = NSExpressionDescription()
countED.expression = countExpression
countED.name = "messages"
countED.expressionResultType = .Integer32AttributeType
// request
var request = NSFetchRequest()
request.entity = entityDescription
request.propertiesToFetch = ["username",messageED]
request.propertiesToGroupBy = ["username"]
设置返回字典很重要
request.resultType = .DictionaryResultType