如何从iphone中的sqlite表中选择唯一值

时间:2013-04-16 10:27:17

标签: iphone ipad sqlite unique

我的sqlite表中有数据,如下所示

这是我的表格描述和字段

    coffeeID;
category;
sub_Category;
content_Type;
content_Title;
content_Description;
content_Id;
publisher;
content_Source;
update_date_time;

这里是我现在获取所有值但我想要唯一值的代码。

       const char *sql = "select * from category";


    sqlite3_stmt *selectstmt;
    if(sqlite3_prepare_v2(database, sql, -1, &selectstmt, NULL) == SQLITE_OK) {

        while(sqlite3_step(selectstmt) == SQLITE_ROW) {

            NSInteger primaryKey = sqlite3_column_int(selectstmt, 0);
            Coffee *coffeeObj = [[Coffee alloc] initWithPrimaryKey:primaryKey];
            coffeeObj.category=sqlite3_column_int(selectstmt,1);
            coffeeObj.sub_Category = [NSString stringWithUTF8String:(char *)sqlite3_column_text(selectstmt, 2)];
            coffeeObj.content_Type = [NSString stringWithUTF8String:(char *)sqlite3_column_text(selectstmt, 3)];
            coffeeObj.content_Title = [NSString stringWithUTF8String:(char *)sqlite3_column_text(selectstmt,4)];

            coffeeObj.publisher = [NSString stringWithUTF8String:(char *)sqlite3_column_text(selectstmt, 5)];
            coffeeObj.content_Description = [NSString stringWithUTF8String:(char *)sqlite3_column_text(selectstmt, 6)];
            coffeeObj.content_Id = [NSString stringWithUTF8String:(char *)sqlite3_column_text(selectstmt, 7)];
            coffeeObj.content_Source = [NSString stringWithUTF8String:(char *)sqlite3_column_text(selectstmt, 8)];

            int count=[appDelegate.coffeeArray count];

            NSLog(@"count is beofore getting values %d",count);



            [appDelegate.coffeeArray addObject:coffeeObj];



            int countone=[appDelegate.coffeeArray count];

            NSLog(@"count is after getting values %d",countone);

            [coffeeObj release];
        }
    }
}

我想要的是,如果它有两个相同的子类别,那么它可能只显示一个类似于均值的唯一记录而不是重复具有相同名称的类别。

1 个答案:

答案 0 :(得分:0)

您可以在SQL查询中使用Group by

"Select * From category GROUP BY category"

您可以按任意列进行分组