извлечение строк из столбца в sqlite - PullRequest
0 голосов
/ 28 марта 2012

У меня есть сомнения, чтобы получить количество строк из одного столбца. Так как я могу получить только 5 строк из одного столбца случайным образом в sqlite3.

-(Question1*)readData1{
sqlite3_stmt *statement1;
int rowid1;
rowid1=[self getRowId1];

tempQuery=[@"select * from iapp_tbl_questions where id= " stringByAppendingString:[NSString stringWithFormat:@"%d",rowid1]];


const char *query2=[tempQuery UTF8String];  
if (sqlite3_prepare_v2(database,query2,-1,&statement1,NULL)==SQLITE_OK) {


    while (sqlite3_step(statement1)==SQLITE_ROW) {
        vt=[[[Question1 alloc]init]autorelease];
        vt.question=[NSString stringWithUTF8String:(char *)sqlite3_column_text(statement1,3)];

        NSLog(@"arr1 is %@",[vt.question description]);


    }
}


return vt;




-(int)getRowId1{    

sqlite3_stmt *statement1;
static int randomRowNum1;
BOOL isAvalible =NO;

if(table==1){
    query="SELECT * FROM 'iapp_tbl_questions' WHERE casenum = 16 order by RANDOM() Limit 1";
}
else if(table==2){
    query="SELECT * FROM 'iapp_tbl_questions' WHERE casenum = 15 order by RANDOM() Limit 1";
}

if (sqlite3_prepare_v2(database,query,-1,&statement1,NULL)==SQLITE_OK) {
    while (sqlite3_step(statement1)==SQLITE_ROW) {
        randomRowNum1=sqlite3_column_int(statement1,0);         
        break;                       
    }
}

for (int i=0;i<idStoreArray1.count;i++){
    NSString *rowidString1 =[idStoreArray1 objectAtIndex:i];
    if(rowidString1.intValue==randomRowNum1) {
        NSLog(@"rowidString1%@", idStoreArray1.count);
        //isAvalible=YES;
        //break;
    }       
}
if (!isAvalible) {
    [idStoreArray1 addObject:[NSString stringWithFormat:@"%d",randomRowNum1]];      
    NSLog(@"array count1----%@",idStoreArray1);
    NSLog(@"%d",idStoreArray1.count);
    return randomRowNum1;
}

else if(idStoreArray1.count < 6000){
    [self getRowId1];
    return randomRowNum1;
}
return 0;   

Пожалуйста, дайте мне знать, как я могу получить только 5 строк из столбца в sqlite.

Заранее спасибо.

1 Ответ

0 голосов
/ 13 августа 2012

Если вам нужно только заданное количество строк, то в конце вашего оператора SQL используйте синтаксис:

LIMIT 5;

, например:

SELECT ColA, ColB, ColC, ColD, ColE
FROM MyTable
LIMIT 5;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...