2014-09-23 3 views
1

Фактический запрос : -IOS Основные данные Условный Count

SELECT *,COUNT(case when ZISREAD = 0 then ZISREAD end) FROM ZNOTIFICATION WHERE ZTTL>1411025900 group by zkind,zaction,zname 

Привет, мне нужно, чтобы преобразовать состояние графа COUNT(case when ZISREAD = 0 then ZISREAD end) с использованием основных данных NSExpression

NSExpression *countPathExpression = [NSExpression expressionForKeyPath: @"isRead"]; 

NSExpression *countExpression = [NSExpression expressionForFunction: @"count:" 
                   arguments: [NSArray arrayWithObject:countPathExpression]]; 

    NSExpressionDescription *countExpressionDescription = [[NSExpressionDescription alloc] init]; 
    [countExpressionDescription setName: @"count"]; 
    [countExpressionDescription setExpression: countExpression]; 
    [countExpressionDescription setExpressionResultType: NSInteger32AttributeType]; 

я нужна помощь, ребята, чтобы преобразовать COUNT(case when ZISREAD = 0 then ZISREAD end) в NSExpression

ответ

0

Прежде всего, вы можете добавить предикат в запрос на выборку:

fetchRequest.predicate = [NSPredicate predicateWithFormat:@"isRead = NO"]; 

Затем вы хотите, чтобы указать ваше выражение в свойствах выборки:

fetchRequest.propertiesToFetch = @[countExpression]; 

Не забудьте установить тип результата

fetchRequest.resultType = NSDictionaryResultType; 

Это должно вас происходит. Помните, что вы также можете использовать массив propertiesToGroupBy, если вы хотите, чтобы оценить ваше выражение через свойство, пример будет группировать день, что позволит вам увидеть количество в день :)

Happy кодирования

Смежные вопросы