2011-07-31 7 views
0

私はロジックにいくつか問題があります。 DISTINCTとCOUNTの後に、私は合計を知りたいと思います。どうすればいい?これは私がやりたいことです、http://dl.dropbox.com/u/418769/2.png、これは私がこれまで行ってきたことです。 http://dl.dropbox.com/u/418769/5.png各カテゴリを数えた後に合計アイテムを数える方法

Drink.m

+ (void) getCategory:(NSString *)dbPath {DrinkTabsAndNavAppDelegate *appDelegate = (DrinkTabsAndNavAppDelegate *)[[UIApplication sharedApplication] delegate]; 

    if (sqlite3_open([dbPath UTF8String], &database) == SQLITE_OK) { 

     //const char *sql = "SELECT DISTINCT category FROM drinks"; 
     const char *sql = "SELECT category, COUNT(category) FROM drinks GROUP BY category"; 
     sqlite3_stmt *selectstmt; 
     if (sqlite3_prepare_v2(database, sql, -2, &selectstmt, NULL) == SQLITE_OK) { 

      while(sqlite3_step(selectstmt) == SQLITE_ROW) 
      { 
       NSInteger primaryKey = sqlite3_column_int(selectstmt, 0); 
       Drink *catObj = [[Drink alloc] initWithPrimaryKey:primaryKey]; 
       catObj.category = [NSString stringWithUTF8String:(char *)sqlite3_column_text(selectstmt, 0)]; 

       catObj.catCount = [NSString stringWithUTF8String:(char *)sqlite3_column_text(selectstmt, 1)]; 

       NSLog(@"run here"); 
       catObj.isDirty = NO; 
       [appDelegate.categoryArray addObject:catObj]; 
       [catObj release]; 
      } 


     } 


    } else sqlite3_close(database); //close db to release all memory 
} 

drinkCat.m

//テーブルビューセルの外観をカスタマイズします。

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { 

     static NSString *CellIdentifier = @"Cell"; 

     TDBadgedCell *cell = [[[TDBadgedCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:CellIdentifier] autorelease]; 

     // Set up the cell 
     //Drink *drinkObj = [appDelegate.drinksArray objectAtIndex:indexPath.row]; 
     Drink *catObj = [appDelegate.categoryArray objectAtIndex:indexPath.row]; 
     //[drinkObj ]; 

     cell.textLabel.text = catObj.category; 
     cell.textLabel.font = [UIFont boldSystemFontOfSize:14]; 

     cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator; 
     cell.badgeString = catObj.catCount;//@"count"; 

     //[detailText release]; 

     return cell; 
    } 

答えて

0

明確なカテゴリを選択し、COUNT(カテゴリ)ドリンクのグループから数などのカテゴリ別には

+0

こんにちはスコット、返信いただきありがとうございます。ラインは本当に私が望むものではありません。私は合計を取得し、テーブルの最初の行に表示する方法を見つける必要があります。 – Desmond